지금부터는 DynamoDB의 파티션과 키에 대해서 배워보도록 하겠습니다.
먼저 DynamoDB의 파티션은 DynamoDB가 데이터를 저장하는 곳입니다.
SSD(Solid State Drive)로 백업되는 테이블용 스토리지 할당을 의미하며, 하나의 AWS 리전 내의 여러 가용 영역에 자동으로 복제됩니다.
이 파티션은 사용자가 직접 관리할 필요 없이 전적으로 DynamoDB에서 처리 하게 됩니다.
그리고 DynamoDB는 기존 파티션이 지원할 수 있는 한도를 초과하여 테이블의 할당된 처리량 설정을 늘리는 경우와, 기존 파티션 용량이 다 차서 추가 스토리지 공간이 필요한 경우에 테이블에 추가 파티션을 할당하게 됩니다.
이제 DynamoDB의 키에 대해서 알아보겠습니다.
보통 데이터베이스에서 키라고 하면 Table내에서 각 Item을 구분하는 고유 식별자를 의미합니다.
그리고 테이블에서 기본이 되는 키를 영어로는 Primary Key라고 부릅니다.
DynamoDB의 기본 키로는 파티션 키만 사용하는 단순 기본 키 방식과, 파티션 키와 정렬 키를 함께 사용하는 복합 기본 키 방식이 있습니다.
먼저 파티션 키는 데이터가 저장되어 있는 파티션을 결정하기 위한 키입니다.
내부 해시 함수에 대한 입력으로 파티션 키 값을 사용하며, 출력에 따라 항목을 저장할 파티션이 결정됩니다.
그리고 정렬 키는 파티션 키가 동일한 모든 항목들을 정렬하는 키 값입니다.
DynamoDB에서는 파티션 키만 사용하거나 파티션 키와 정렬 키를 함께 사용하는 형태로 테이블의 기본 키를 설정할 수 있습니다.
글로만 보면 잘 이해가 되지 않을 수 있으니 키의 개념을 그림으로 한 번 살펴보겠습니다.
먼저 기본 키로 파티션 키만 사용하는 경우입니다.
여기에서는 Name을 파티션 키로 사용한 것을 볼 수 있으며, 이렇게 파티션 키를 통해서 Item을 찾을 수 있습니다.
그리고 다음은 기본 키로 파티션 키와 정렬 키를 함께 사용하는 경우입니다.
이 경우에는 먼저 파티션 키를 해시 함수의 입력으로 전달하여 Item이 저장되어 있는 파티션을 찾고, 이후에 해당 파티션 내에서 정렬 키를 사용하여 Item을 찾게 됩니다.
DynamoDB의 두 가지 기본 키 방식을 위 그림과 함께 잘 기억해두기 바랍니다.
마지막 업데이트: 2023년 11월 12일 00시 00분
이 문서의 저작권은 이인제(소플)에 있습니다. 무단 전재와 무단 복제를 금합니다.
On this page