Partitions and Data Distribution - Amazon DynamoDB

문서의 영문과 번역 사이에 충돌이 있는 경우에는 영문 버전을 따릅니다. 번역 버전은 기계 번역을 사용하여 제공합니다.

Partitions and Data Distribution

Amazon DynamoDB는 데이터를 파티션에 저장합니다. A partition 은(는) 솔리드 스테이트 드라이브(SSD)에 의해 지원되는 테이블에 대한 스토리지를 할당하고 AWS 지역 내의 여러 가용성 존에 자동으로 연결됩니다. 직접 파티션을 관리할 필요 없이 파티션 관리는 전적으로 DynamoDB에서 처리합니다.

테이블을 만들 때 표의 초기 상태는 다음과 같습니다. CREATING. 이 단계에서는 DynamoDB 프로비저닝된 처리량 요구 사항을 처리할 수 있도록 테이블에 충분한 파티션을 할당합니다. 테이블 상태가 ACTIVE로 전환되면 테이블 데이터를 쓰거나 읽을 수 있습니다.

DynamoDB는 다음과 같은 상황에서 테이블에 추가 파티션을 할당합니다.

  • If you increase the table's provisioned throughput settings beyond what the existing partitions can support.

  • If an existing partition fills to capacity and more storage space is required.

파티션 관리는 백그라운드에서 자동으로 이루어지므로 애플리케이션에는 표시되지 않습니다. 테이블은 사용 가능한 처리량을 유지하며 프로비저닝된 처리량 요구 사항을 완전히 지원합니다.

자세한 내용은 파티션 키 설계 단원을 참조하십시오.

DynamoDB의 글로벌 보조 인덱스도 파티션으로 구성됩니다. 글로벌 보조 인덱스의 데이터는 기본 테이블의 데이터와 별도로 저장되지만 인덱스 파티션은 테이블 파티션과 동일한 방식으로 동작합니다.

Data Distribution: Partition Key

테이블이 단순 기본 키를 가질 경우(파티션 키만 있음) DynamoDB가 파티션 키 값을 기준으로 각 항목을 저장하고 검색합니다.

테이블에 항목을 기록하기 위해 DynamoDB는 내부 해시 함수에 대한 입력으로 파티션 키 값을 사용합니다. 해시 함수 출력 값은 항목을 저장할 파티션을 결정합니다.

테이블에서 항목을 읽으려면 항목의 파티션 키 값을 지정해야 합니다. DynamoDB는 이 값을 해당 해시 함수의 입력으로 사용하여 항목을 찾을 수 있는 파티션을 결정합니다.

다음 다이어그램은 이름의 표를 보여줍니다. Pets다중 파티션이 적용됩니다. 표의 주요 키는 다음과 같습니다. AnimalType (이 키 애트리뷰트만 표시됩니다.) DynamoDB 해시 기능을 사용하여 새 항목을 저장할 위치를 결정합니다. 이 경우 문자열의 해시 값을 기준으로 합니다. Dog. 품목은 정렬된 순서로 저장되지 않습니다. 각 항목의 위치는 파티션 키의 해시 값으로 결정됩니다.

참고

DynamoDB는 파티션 수와 상관없이 항목을 테이블의 파티션에 균일하게 분배하는 데 최적화되어 있습니다. 테이블 항목 수에 비해 많은 수의 고유 값을 가질 수 있는 파티션 키를 선택할 것을 권장합니다.

Data Distribution: Partition Key and Sort Key

테이블에 복합 기본 키(파티션 키 및 정렬 키)가 있는 경우 Data Distribution: Partition Key에 설명된 동일한 방식으로 DynamoDB에서 파티션 키의 해시 값을 계산합니다. 그러나 동일한 파티션 키 값이 함께 물리적으로 가까운 모든 항목을 정렬 키 값의 순서대로 저장합니다.

테이블에 항목을 기록하기 위해 DynamoDB는 파티션 키의 해시 값을 계산하여 항목을 저장할 파티션을 결정합니다. 해당 파티션에서는 여러 항목이 동일한 파티션 키 값을 가질 수 있습니다. 따라서 DynamoDB에서 동일한 파티션 키의 다른 항목 간에 정렬 키에 의해 오름차순으로 항목을 저장합니다.

테이블에서 항목을 읽으려면 항목의 파티션 키 값과 정렬 키 값을 지정해야 합니다. DynamoDB는 파티션 키의 해시 값을 계산하여 항목을 찾을 수 있는 파티션을 결정합니다.

원하는 항목이 동일한 파티션 키 값을 가질 경우 단일 작업(Query)으로 테이블에서 여러 항목을 읽을 수 있습니다. DynamoDB는 해당 파티션 키 값을 갖는 모든 항목을 반환합니다. 특정 값 범위의 항목만 반환되도록 정렬 키에 조건을 적용할 수 있습니다(선택 사항).

이 경우 Pets 테이블에는 다음으로 구성된 복합 기본 키가 있습니다. AnimalType (파티션 키) 및 Name (정렬 키). 다음 다이어그램은 DynamoDB 파티션 키 값으로 품목 쓰기 DogFido.

동일한 항목을 읽으려면 Pets 표 DynamoDB 해시 값 계산 Dog, 이 품목이 저장되는 파티션을 생성합니다. DynamoDB 그런 다음 Fido.

모든 항목을 읽으려면 AnimalType of Dog, Query 작업 키 조건을 지정하지 않고 작동합니다. 기본적으로 항목은 정렬 순서대로, 즉 정렬 키 기준 오름차순으로 반환됩니다. 선택 사항으로 내림차순을 요청할 수 있습니다.

일부 Dog 항목을 정렬 키(예: Dog 품목 Name 범위 내에 있는 글자로 시작합니다. A 다음을 통해 K) ).

참고

DynamoDB 테이블에서 파티션 키 값당 고유 정렬 키 값의 수는 제한이 없습니다. 수십억 달러를 Dog 의 항목 Pets 표 DynamoDB 이 요구 사항을 자동으로 처리할 충분한 스토리지를 할당합니다.