효과적으로 파티션 키를 설계해 사용하는 모범 사례 - Amazon DynamoDB

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

효과적으로 파티션 키를 설계해 사용하는 모범 사례

Amazon DynamoDB 테이블에서 각 항목을 고유하게 식별하는 기본 키는 간단하거나(파티션 키만) 복합적일(정렬 키가 통합된 파티션 키) 수 있습니다.

일반적으로 테이블과 보조 인덱스의 모든 논리적 파티션 키에서 균일하게 활동을 하도록 애플리케이션을 설계해야 합니다. 애플리케이션에 필요한 액세스 패턴을 결정하고, 각 테이블과 보조 인덱스에 필요한 읽기 용량 단위(RCU)와 쓰기 용량 단위(WCU)의 총계를 추정할 수 있습니다.

DynamoDB는 특정 파티션에 대한 트래픽이 3,000 RCUs 또는 1,000 WCUs를 초과하지 않는 한 프로비저닝한 처리량을 사용하여 액세스 패턴을 지원합니다.

효과적인 버스트 용량 사용

DynamoDB는 버스트 용량을 제공해 파티션당 처리량 프로비저닝에서 어느 정도 유연성을 제공합니다. 파티션의 처리량을 완전히 사용하지 않을 때마다 DynamoDB는 나중에 사용량 급증을 처리하기 위해 처리량 버스트에 사용하지 않은 용량 일부를 예약해 둡니다.

DynamoDB는 현재 사용하지 않은 읽기 및 쓰기 용량을 최대 5분(300초) 동안 보관합니다. 경우에 따라 읽기 또는 쓰기 작업을 버스트하는 동안 이러한 추가 용량 단위를 테이블에 대해 정의한 초당 프로비저닝된 처리 용량보다 훨씬 더 빨리 소비할 수 있습니다.—

DynamoDB는 또한 사전 통지 없이 배경 유지 관리와 다른 작업에 버스트 용량을 사용할 수도 있습니다.

향후 버스트 용량의 세부 정보가 변경될 수도 있습니다.

DynamoDB 조정 용량 이해

조정 용량은 DynamoDB가 불균형 워크로드를 무기한 실행하도록 합니다. 이는 처리량 예외로 인한 병목을 최소화합니다. 또한 필요한 만큼의 처리량을 할당할 수 있도록 해 비용을 절감해 줍니다.

조정 용량은 모든 DynamoDB 테이블에 대해 추가 비용 없이 자동으로 활성화됩니다. 조정 용량을 명시적으로 활성화하거나 비활성화할 필요가 없습니다.

높은 트래픽 파티션에 대한 처리량 향상

항상 읽기와 쓰기 작업을 골고루 배포할 수 있는 것은 아닙니다. 데이터 액세스가 불균형할 때, '핫' 파티션은 다른 파티션보다 볼륨이 많은 읽기와 쓰기 트래픽을 받을 수 있습니다. 극단적인 경우에는 단일 파티션이 3,000 RCUs 또는 1,000 WCUs 이상을 수신하는 경우 조절이 발생할 수 있습니다.

균일하지 않은 액세스 패턴을 더 효과적으로 수용하기 위해 DynamoDB 조정 용량을 사용하면 트래픽이 테이블의 총 프로비저닝된 용량이나 파티션 최대 용량을 초과하지 않을 경우 애플리케이션에서는 조절 없이 핫 파티션에 계속 읽기 및 쓰기 작업을 수행할 수 있습니다. 조정 용량은 더 많은 트래픽을 받는 파티션의 처리량 용량을 즉시 자동으로 증가시킵니다.

다음 다이어그램은 조정 용량 작동 방식을 설명합니다. 예제 테이블은 4개의 파티션에 균일하게 공유된 400 WCUs로 프로비저닝되어 있어 각 파티션은 초당 최대 100 WCUs를 유지할 수 있습니다. 파티션 1, 2, 3은 각각 50WCU/초의 쓰기 트래픽을 수신합니다. 파티션 4는 150WCU/초를 수신합니다. 이 핫 파티션은 미사용 버스트 용량이 있는 동안 쓰기 트래픽을 허용할 수 있지만, 결국 100WCU/초를 초과하는 트래픽을 제한합니다.

DynamoDB 조정 용량은 파티션 4의 용량을 늘리는 것으로 대응하므로 해당 파티션이 제한되지 않고 150WCU/초의 높은 워크로드를 유지할 수 있습니다.

자주 액세스하는 아이템 분리

애플리케이션 트래픽이 하나 이상의 항목으로 너무 많이 이동하는 경우 자주 액세스하는 항목이 동일한 파티션에 상주하지 않도록 조정 용량이 파티션 균형을 재조정합니다. 자주 액세스하는 항목을 분리하면 워크로드가 단일 파티션의 처리량 할당량을 초과하여 요청이 조절될 가능성이 줄어듭니다.

애플리케이션이 단일 항목에 지속적으로 높은 트래픽을 발생시키는 경우, 자주 액세스하는 단일 항목만 파티션에 포함되도록 조정 용량이 데이터를 조정할 수 있습니다. 이 경우 DynamoDB는 파티션에 최대 3,000개의 RCUs 또는 1,000개의 WCUs 처리량을 단일 항목의 기본 키에 전달할 수 있습니다.

참고

이 격리 기능은 다음에 대해서는 사용할 수 없습니다.