Azure에서 스토리지 솔루션 선택

완료됨

올바른 스토리지 솔루션을 선택하면 성능이 향상되고, 비용이 절감되고, 관리 효율성이 향상될 수 있습니다. 데이터 유형마다 스토리지 요구 사항이 다릅니다. 회사에서 사용하는 데이터 형식에 가장 적합한 스토리지 솔루션을 결정하는 업무를 맡고 있다고 합시다. 항상 데이터 형식, 필요한 작업, 예상 대기 시간 및 트랜잭션 지원에 대한 요구 사항을 고려해야 합니다.

여기서 온라인 판매 시나리오에서 데이터에 대해 배운 내용을 적용하고, 각 데이터 집합에 가장 적합한 Azure 서비스를 찾아볼 수 있습니다.

제품 카탈로그 데이터

데이터 분류: 새 제품에 대한 스키마를 확장하거나 수정할 필요로 인해 반구조적입니다.

작업:

  • 고객에게는 데이터베이스 내에서 여러 필드를 쿼리하는 기능과 함께 읽기 작업이 많이 필요합니다.
  • 비즈니스에서는 지속적으로 변하는 재고를 추적하려면 쓰기 작업이 많이 필요합니다.

대기 시간 및 처리량: 처리량이 높고 대기 시간이 낮아야 합니다.

트랜잭션 지원: 제품 데이터는 결제 및 인벤토리에 연결되므로 트랜잭션 지원이 필요합니다.

Azure Cosmos DB는 반구조적 데이터 또는 NoSQL 데이터에 대한 지원을 고려하여 설계됩니다. 따라서 “Bluetooth 지원” 필드와 같은 새로운 필드나 이후에 필요한 모든 새 필드는 Azure Cosmos DB를 사용하여 수행할 수 있습니다.

Azure Cosmos DB는 쿼리에 대한 SQL을 지원하고, 모든 속성이 기본적으로 인덱싱됩니다. 고객이 카탈로그의 모든 속성을 필터링할 수 있도록 쿼리를 만들 수 있습니다.

Azure Cosmos DB는 ACID도 준수하므로 엄격한 해당 요구 사항에 따라 트랜잭션이 완료되었는지 확인할 수 있습니다. OLTP 커넥터는 Azure Cosmos DB에 사용할 수 있습니다.

여기에 플러스하여 Azure Cosmos DB를 사용하면 세계 어디서나 데이터를 쉽게 복제할 수 있습니다. 따라서 전자 상거래 사이트에서 사용자가 미국, 프랑스, 영국에 집중되어 있다면 데이터를 해당 지역의 데이터 센터에 복제할 수 있습니다. 데이터를 사용자에게 더 가깝게 물리적으로 이동했기 때문에 대기 시간이 줄어듭니다.

전 세계에서 복제본 데이터를 사용하더라도 다섯 개의 일관성 수준 중 하나를 선택할 수 있습니다. 적절한 일관성 수준을 선택하여 일관성, 가용성, 대기 시간 및 처리량 사이의 장단점을 절충할 수 있습니다. 쇼핑이 최고조에 이른 시간에는 고객의 높아진 수요를 처리하기 위해 스케일 업하고 다소 한가한 시간에는 비용을 절약하기 위해 스케일 다운할 수 있습니다.

다른 Azure 서비스도 사용해 보세요.

대부분의 제품에 공통된 속성의 하위 집합과 일부 제품에 존재하지 않을 수 있는 변수 속성을 식별할 수 있는 경우라면 이 데이터 세트에는 Azure SQL Database가 최상의 선택입니다. Azure SQL Database를 사용하면 열에 있는 구조적 데이터를 쉽게 확장할 수 있는 JSON 열로 저장된 반구조적 데이터와 결합할 수 있습니다. Azure SQL Database에서는 Azure Cosmos DB와 동일한 이점을 많이 제공하지만, 데이터의 구조가 다른 엔터티에서 변경되는 경우 이점이 거의 없으며, 대부분의 엔터티에서 반복되는 공통 속성 세트를 미리 정의할 수 없습니다. 문서의 모든 속성을 인덱싱하는 Azure CosmosDB와 달리, Azure SQL Database에서는 인덱싱해야 하는 반구조적 문서의 속성을 명시적으로 정의해야 합니다. 인덱싱해야 하는 속성을 예측할 수 없는 고도로 비구조적인 데이터 및 변수 데이터의 경우에는 Azure Cosmos DB를 선택하는 것이 더 좋습니다. Azure SQL Database는 OLTP를 지원합니다.

Azure Table storage, Azure HDInsight의 Apache HBase 및 Azure Cache for Redis 등의 다른 Azure 서비스도 NoSQL 데이터를 저장할 수 있습니다. 이 시나리오에서는 사용자가 여러 필드를 쿼리하려 하므로 Azure Cosmos DB가 더 적합합니다. Azure Cosmos DB는 기본값으로 모든 필드를 인덱싱하지만 Azure services는 인덱싱하는 데이터가 제한적입니다. 인덱싱되지 않은 필드를 쿼리하면 성능이 저하됩니다.

사진 및 비디오

데이터 분류: 비구조적

작업:

  • ID로만 검색합니다.
  • 고객에게는 대기 시간이 짧은 많은 수의 읽기 작업이 필요합니다.
  • 만들기 작업 및 업데이트 작업은 읽기 작업보다 빈도가 낮고 대기 시간이 더 길 수 있습니다.

대기 시간 및 처리량: ID별 검색에서는 짧은 대기 시간과 높은 처리량을 지원해야 합니다. 만들기 작업 및 업데이트 작업은 읽기 작업보다 대기 시간이 더 길 수 있습니다.

트랜잭션 지원: 필요하지 않습니다.

Azure Blob Storage는 사진 및 비디오 같은 파일의 저장을 지원합니다. 또한 Azure Blob Storage는 가장 자주 사용된 콘텐츠를 캐싱하고 에지 서버에 저장하여 Azure Content Delivery Network로도 작업합니다. Azure Content Delivery Network는 사용자에게 해당 이미지를 제공할 때 걸리는 대기 시간을 줄여줍니다.

Azure Blob Storage에서는 핫 스토리지 계층에서 쿨 또는 보관 스토리지 계층으로 이미지를 이동하여 비용을 절감하고 가장 자주 본 이미지 및 비디오에 처리량을 집중할 수도 있습니다.

다른 Azure 서비스도 사용해 보세요.

Azure App Services에 이미지를 업로드할 수 있으므로 앱을 실행 중인 동일한 서버에서 이미지를 제공합니다. 이 솔루션은 파일이 많지 않은 경우 적절합니다. 그러나 파일 및 글로벌 대상 고객이 많은 경우에는 Azure Blob Storage를 Azure Content Delivery Network와 함께 사용하면 더 뛰어난 성능을 얻을 수 있습니다.

비즈니스 데이터

데이터 분류: 구조적

작업: 여러 데이터베이스 간의 읽기 전용 복합 분석 쿼리

대기 시간 및 처리량: 결과의 일부 대기 시간은 쿼리의 복잡한 특성에 따라 예상할 수 있습니다.

트랜잭션 지원: 필요하지 않습니다.

비즈니스 데이터는 비즈니스 분석가가 쿼리할 가능성이 높으며 이들은 다른 쿼리 언어보다 SQL을 잘 알고 있을 가능성이 큽니다. Azure SQL Database 하나만을 솔루션으로 사용할 수 있지만, Azure Analysis Services와 페어링하면 데이터 분석가가 SQL Database의 데이터에 대한 의미 체계 모델을 만들 수 있습니다. 그런 다음, 데이터 분석가는 이 모델을 비즈니스 사용자와 공유할 수 있으므로 사용자는 BI(비즈니스 인텔리전스) 도구의 모델에 연결하여 즉시 데이터를 탐색하고 인사이트를 얻기만 하면 됩니다. Azure Analysis Services는 OLAP를 지원합니다.

다른 Azure 서비스도 사용해 보세요.

Azure Synapse Analytics는 OLAP 솔루션 및 SQL 쿼리를 지원하지만 비즈니스 분석가는 Azure Synapse Analytics에서 지원하지 않는 데이터베이스 간 쿼리를 수행해야 합니다.

Azure Stream Analytics는 데이터를 분석하고 실행 가능한 인사이트로 변환하는 좋은 방법이지만, 스트리밍되는 실시간 데이터에 초점을 둡니다. 이 시나리오에서 비즈니스 분석가는 기록 데이터만 보게 됩니다.