요약

완료됨

이번 모듈에서는 Azure Cosmos DB와 같은 NoSQL 데이터베이스의 데이터를 모델링하고 분할하는 데 사용되는 주요 개념과 기술에 대해 알아보았습니다. 관계형 데이터베이스에서 NoSQL 데이터베이스로 마이그레이션해야 하는 전자상거래 애플리케이션에 이를 적용했습니다. 이 모듈에서 배운 내용은 다음과 같습니다.

  • 관계형 데이터베이스와 NoSQL 데이터베이스의 차이점: 일반적으로 관계형 데이터베이스는 수직 스케일링이 가능하지만 Azure Cosmos DB와 같은 NoSQL 데이터베이스를 어떻게 수평으로 스케일링할 수 있는지 알아봤습니다.
  • 액세스 패턴을 사용하여 데이터 모델링: 데이터에 대한 애플리케이션의 액세스 패턴을 이해하는 것이 데이터를 모델링하고 분할하는 데 어떤 중요한 역할을 하는지 알아봤습니다.
  • 포함 및 참조: 동일한 문서 내에 다른 엔터티를 포함해야 하는 경우와 데이터를 참조하고 별도의 행으로 저장해야 하는 경우를 알아봤습니다.
  • 파티션 키 선택: 파티션 키를 선택하기 위한 주요 개념을 알아봤습니다. 이러한 개념에는 핫 파티션을 방지하는 방법과 읽기 및 쓰기가 많은 워크로드를 처리하는 방법이 포함됩니다.
  • 조회 또는 참조 데이터 모델링: 마지막으로 다른 데이터에 대한 조회 또는 참조로 사용되는 데이터를 모델링하는 방법을 알아봤습니다.

모든 개념과 기술을 관계형 데이터베이스에 적용하여 NoSQL 데이터베이스로 모델링했습니다. 세 개의 고객 엔터티를 모델링하고 모두 단일 문서에 포함했습니다. 그 결과, 데이터에 대한 요청 수가 줄어 성능이 향상되었습니다.

또한 제품 범주 및 제품 태그 엔터티를 모델링했습니다. 또한 특별한 기술을 사용해서 소형 조회 테이블에 필요한 전반적인 스토리지 및 처리량을 줄였습니다.

이제 이 모듈을 완료했으므로 다음을 수행할 수 있습니다.

  • 데이터에 대한 액세스 패턴을 결정합니다.
  • 데이터 모델 및 분할 전략을 적용하여 효율적이고 스케일링 가능한 NoSQL 데이터베이스를 지원합니다.

자세히 알아보기