DynamoDB 테이블을 위한 데이터 모델링
데이터 모델링에 대해 자세히 알아보기 전에 DynamoDB의 몇 가지 기본 사항을 이해하는 것이 중요합니다. DynamoDB는 유연한 스키마를 지원하는 키-값 NoSQL 데이터베이스입니다. 각 항목의 주요 속성을 제외한 데이터 속성 세트는 균일하거나 이산적일 수 있습니다. DynamoDB 키 스키마는 파티션 키로 항목을 고유하게 식별하는 단순 프라이머리 키 형식이거나 파티션 키와 정렬 키의 조합으로 항목을 고유하게 정의하는 복합 기본 키 형식입니다. 파티션 키는 해시되어 데이터의 물리적 위치를 확인하고 데이터를 검색합니다. 따라서 데이터를 균일하게 분배하려면 카디널리티가 높고 수평적으로 확장 가능한 속성을 파티션 키로 선택하는 것이 중요합니다. 정렬 키 속성은 키 스키마에서 선택 사항이며 정렬 키가 있으면 DynamoDB에서 일대다 관계를 모델링하고 항목 컬렉션을 생성할 수 있습니다. 정렬 키는 범위 키라고도 합니다. 정렬 키는 항목 컬렉션의 항목을 정렬하는 데 사용되며 유연한 범위 기반 작업을 가능하게 합니다.
DynamoDB 키 스키마에 대한 자세한 내용 및 모범 사례는 다음을 참조하세요.
DynamoDB에서 추가 쿼리 패턴을 지원하려면 보조 인덱스가 필요한 경우가 많습니다. 보조 인덱스는 동일한 데이터가 기본 테이블과 다른 키 스키마를 통해 구성된 섀도우 테이블입니다. 로컬 보조 인덱스(LSI)는 기본 테이블과 동일한 파티션 키를 공유하며, 대체 정렬 키를 사용하여 기본 테이블의 용량을 공유할 수 있도록 합니다. 글로벌 보조 인덱스(GSI)는 기본 테이블과 다른 파티션 키와 정렬 키 속성을 가질 수 있습니다. 이는 GSI의 처리량 관리가 기본 테이블과 독립적임을 의미합니다.
보조 인덱스에 대한 자세한 내용 및 모범 사례는 다음을 참조하세요.
이제 데이터 모델링에 대해 좀더 자세히 살펴보겠습니다. DynamoDB 또는 NoSQL 데이터베이스에서 유연하고 고도로 최적화된 스키마를 설계하는 프로세스는 배우기 어려운 기술일 수 있습니다. 이 모듈의 목표는 사용 사례에서 시작해 프로덕션 단계까지 이어지는 스키마 설계를 위한 멘탈 흐름 차트를 개발하는 데 도움을 주는 것입니다. 먼저 모든 설계의 기본 선택, 즉 단일 테이블 설계와 다중 테이블 설계를 소개하는 것으로 시작하겠습니다. 그런 다음 애플리케이션의 다양한 조직적 결과 또는 성능 결과를 달성하는 데 사용할 수 있는 여러 설계 패턴(빌딩 블록)을 검토하겠습니다. 마지막으로 다양한 사용 사례와 산업을 위한 완전한 스키마 설계 패키지가 다양하게 포함되어 있습니다.