파티션 및 데이터 배포 - Amazon DynamoDB

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

파티션 및 데이터 배포

Amazon DynamoDB 는 데이터를 파티션에 저장합니다. Apartition는 SSD (Solid State Drive) 로 백업되는 테이블용 스토리지 할당으로,AWS리전. 파티션 관리는 DynamoDB에 의해 전적으로 처리되므로 파티션을 직접 관리할 필요가 없습니다.

테이블을 생성할 때 테이블 초기 상태는 CREATING입니다. 이 단계 동안 DynamoDB 는 테이블에 충분한 파티션을 할당하여 프로비저닝된 처리량 요구 사항을 만족할 수 있도록 합니다. 테이블 상태가 ACTIVE로 전환되면 테이블 데이터를 쓰거나 읽을 수 있습니다.

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

  • 기존 파티션이 지원할 수 있는 한도를 초과하여 테이블의 할당된 처리량 설정을 늘리는 경우.

  • 기존 파티션 용량이 다 차서 추가 스토리지 공간이 필요한 경우.

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

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

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

데이터 분산: 파티션 키

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

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

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

다음 다이어그램은 여러 파티션에 걸쳐 데이터가 저장된 Pets라는 테이블을 보여줍니다. 테이블의 기본 키는AnimalType(이 키 속성만 표시됨). DynamoDB 는 해시 함수를 사용하여 새 항목을 저장할 위치를 결정합니다. 이 경우 문자열의 해시 값을 기준으로 사용됩니다.Dog. 항목은 정렬 순서대로 저장되지 않습니다. 각 항목의 위치는 파티션 키의 해시 값으로 결정됩니다.

참고

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

데이터 분산: 파티션 키 및 정렬 키

테이블에 복합 기본 키 (파티션 키 및 정렬 키) 가 있는 경우 DynamoDB 는데이터 분산: 파티션 키. 그러나 동일한 파티션 키 값이 함께 물리적으로 가까운 모든 항목을 정렬 키 값의 순서대로 저장합니다.

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

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

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

Pets 테이블이 AnimalType(파티션 키)와 Name(정렬 키)으로 구성된 복합 기본 키를 가진다고 가정하겠습니다. 다음 다이어그램에서는 DynamoDB 키 값이 인 항목을 쓰는 것을 보여 줍니다.Dog및 정렬 키 값의 정렬 키 값입니다.분류: 피도.

에서 동일한 항목을 읽으려면애완 동물테이블에서 DynamoDB 는Dog를 사용하여 이러한 항목이 저장되는 파티션을 생성합니다. 그런 다음 DynamoDB 가 찾을 때까지 정렬 키 속성 값을 검색합니다.분류: 피도.

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

일부만 쿼리하려면Dog항목을 사용할 때 정렬 키에 조건을 적용할 수 있습니다 (예:Dog항목을 합니다.이름범위 내에 있는 문자로 시작합니다.A를 통해K).

참고

DynamoDB 테이블의 경우 파티션 키 값당 고유 정렬 키 값의 수는 제한이 없습니다. 당신은 수십억을 저장해야하는 경우Dog항목의애완 동물테이블의 경우 DynamoDB 이 요구 사항을 자동으로 처리할 수 있는 충분한 스토리지를 할당합니다.