AWS - DynamoDB5
DynamoDB 설계
키 설계
DynamoDB는 NoSQL이기 때문에 어떤 쿼리를 사용하게 될 지 생각해보고 해당 작업을 빠르게 할 수 있는 키를 설정하는 것이 매우 중요하다.
DynamoDB의 기본키는 ‘파티션 키’와 ‘정렬 키’로 이루어진다. 새 테이블을 만들 때 기본키는 무조건 지정해야 한다.
기본키
기본키는 테이블의 각 항목을 나타내는 고유 식별자로, DynamoDB 기본키의 종류는 두 가지가 있다.
- 파티션키(해시키) : 하나의 속성으로 구성되는 단순 기본키. 파티션 키로만 구성되어있는 테이블에서는 어떤 두 개의 테이블 항목도 동일한 파티션 값을 가질 수 없다.
- 파티션 키 & 정렬 키(범위(range) 속성) : 파티션 키와 정렬 키 두가지 속성으로 구성되는 복합 기본 키이다. 복합키를 사용하는 테이블의 서로 다른 두 항목은 같은 파티션 키 값을 가질 수 있다. 하지만 정렬 키 값은 달라야 한다.
그 외에도 더욱 유연한 쿼리를 위해 보조 인덱스 기능을 제공한다. 기본적으로 쿼리 작업은 기본키에만 가능하기 때문에 다른 속성에 접근하기 위해서는 인덱스를 사용해야 한다.
보조 인덱스
인덱스의 종류는 두 가지가 있다.
- Global secondary Index : 파티션 키 및 정렬 키가 테이블의 파티션 키 및 정렬키와 다른 인덱스
- Local secondary Index : 테이블과 파티션 키는 동일하지만 정렬 키는 다른 인덱스
각 테이블당 20개의 global, 5개의 local 보조 인덱스를 만들 수 있다. 일반적으로 로컬 보조 인덱스보다 글로벌 보조 인덱스의 사용을 우선시 해야 한다. 단 쿼리 결과에 높은 일관성이 필요한 경우는 로컬 보조 인덱스를 사용하는게 좋다.
이 블로그의 모든 글은 CC BY-NC-SA 4.0 라이선스를 따르며, 별도로 명시되지 않는 한 모든 권리를 보유합니다. 재배포 시 출처를 명시해 주세요: StudyYeong.