소개
Azure Cosmos DB는 Azure의 Microsoft 완전 관리형 NoSQL 데이터베이스입니다. NoSQL 데이터베이스인 Azure Cosmos DB는 비관계형이며 수평으로 확장 가능하거나 스케일 아웃됩니다. 이 스케일 아웃 기능은 컨테이너에 더 많은 노드 또는 파티션을 추가하여 이뤄집니다.
이 스케일 아웃 기능을 사용하면 컨테이너가 이론적으로 무한대의 크기로 확장될 수 있습니다. 따라서 컨테이너의 크기가 커짐에 따라 컨테이너는 증가하는 요청 수를 처리하여 컨테이너가 얼마나 커지는지와 관계없이 동일한 성능을 제공할 수 있습니다.
그러나 이러한 수준의 확장성을 달성하려면 사용자는 데이터를 모델링하고 분할하기 위한 Azure Cosmos DB의 고유한 개념과 기술을 이해해야 합니다. 또한 사용자는 일반적으로 NoSQL 데이터베이스의 개념으로 이해해야 합니다.
시나리오
온라인 주문 관리를 위한 데이터베이스를 디자인하는 소매 신설 기업에서 근무한다고 생각해 보세요. Azure Cosmos DB for NoSQL을 사용하여 효율적인 데이터베이스 디자인을 위한 제안서를 작성하고 있습니다. 시작할 엔터티-관계 모델을 제공받았습니다. 가능한 최대 확장성, 성능 및 효율성을 제공하려고 하고 이를 달성하려면 데이터를 올바르게 모델링해야 합니다.
다음 엔터티-관계 다이어그램(ER 모델)은 작업할 9개 엔터티에 대한 세부 정보를 제공합니다. 관계형 모델은 자체 테이블에 9개의 엔터티를 갖고 있습니다.
이 작업은 어떻게 달성하나요?
이번 모듈에서는 기존의 관계형 데이터 모델을 전자상거래 애플리케이션을 위한 NoSQL 데이터베이스로 재디자인합니다. 이 프로세스 중에는 다음 개념을 알아봅니다.
- 관계형 데이터베이스와 NoSQL 데이터베이스 간의 차이점: NoSQL 데이터베이스와 관계형 데이터베이스 간의 차이점과 이러한 차이가 발생한 이유를 알아봅니다.
- 액세스 패턴을 사용하여 데이터 모델링: 애플리케이션이 데이터를 읽고 쓰는 방식을 이해하는 것이 NoSQL 데이터베이스에 대해 모델링하는 방법에 미치는 영향을 알아봅니다.
- 포함 및 참조: 데이터를 동일한 문서에 포함해야 하는 경우와 데이터를 별도의 문서로 저장해야 하는 경우를 알아봅니다.
- 파티션 키 선택: 스케일 아웃 기능을 달성하고 읽기 또는 쓰기가 많거나 둘 다 많은 워크로드를 최적화하기 위한 가장 적합한 파티션 키를 선택하는 데 필요한 핵심 개념을 배웁니다.
- 조회 또는 참조 데이터 모델링: 마지막으로 다른 데이터에 대한 조회 또는 참조로 사용되는 데이터를 모델링하는 방법을 알아봅니다.
주요 목표는 무엇인가요?
이 모듈과 동반 모듈(Azure Cosmos DB용 고급 모델링 패턴을 사용하여 데이터베이스 최적화)을 마치면 Azure Cosmos DB에 배포된 같은 NoSQL 데이터베이스의 데이터를 적절하게 모델링하고 분할하는 데 지식과 기술을 갖추게 됩니다.
이 모듈을 완료한 후에는 다음을 수행할 수 있습니다.
- 데이터에 대한 액세스 패턴을 결정합니다.
- 데이터 모델 및 분할 전략을 적용하여 효율적이고 스케일링 가능한 NoSQL 데이터베이스를 지원합니다.