1 DynamoDB의 키 구조
- DynamoDB는 NoSQL 데이터베이스로, 테이블의 각 항목을 고유하게 식별하는 프라이머리 키가 필요합니다.
- 프라이머리 키는 단순 프라이머리 키 또는 복합 프라이머리 키 두 가지 유형이 있습니다.
2 파티션 키 (Partition Key)
- 파티션 키는 단순 프라이머리 키의 유일한 속성입니다.
- DynamoDB는 파티션 키의 값을 내부 해시 함수의 입력으로 사용합니다.
- 해시 함수의 출력은 항목이 저장될 파티션(물리적 스토리지 내부 위치)을 결정합니다.
2.1 파티션 키의 특징
- 고유성: 테이블 내에서 각 항목의 파티션 키 값은 고유해야 합니다.
- 데이터 분산: 잘 설계된 파티션 키는 데이터를 DynamoDB 파티션에 균등하게 분산시킵니다.
- 쿼리 효율성: 파티션 키를 사용한 쿼리는 매우 효율적입니다.
3 복합 프라이머리 키 (Composite Primary Key)
- 복합 프라이머리 키는 파티션 키와 정렬 키로 구성됩니다.
- 이 구조는 더 복잡한 데이터 모델과 쿼리 패턴을 지원합니다.
3.1 파티션 키 + 정렬 키 (Sort Key)
- 파티션 키: 데이터의 파티션을 결정합니다.
- 정렬 키: 파티션 내에서 항목을 정렬하는 데 사용됩니다.
- 복합 키 구조에서는 파티션 키가 같은 여러 항목이 존재할 수 있습니다.
3.2 복합 키의 특징
- 데이터 그룹화: 같은 파티션 키를 가진 항목들은 함께 저장됩니다.
- 정렬 기능: 정렬 키를 기반으로 항목을 효율적으로 검색할 수 있습니다.
- 유연한 쿼리: 다양한 접두사 일치, 범위 쿼리 등이 가능합니다.
4 키 선택 시 고려사항