반응형
Amazon DynamoDB
Amazon DynamoDB는 데이터를 파티션에 저장합니다.
파티션은 SSD(Solid State Drive)로 백업되는 테이블용 스토리지 할당으로,
AWS 리전 내의 여러 가용 영역에 자동으로 복제됩니다.
파티션 관리는 DynamoDB에서 전적으로 처리하므로 사용자가 파티션을 직접 관리할 필요가 없습니다.
데이터 배포: 파티션 키
- 테이블이 단순 기본 키를 가질 경우(파티션 키만 있음)
- DynamoDB가 파티션 키 값을 기준으로 각 항목을 저장하고 검색합니다.
- 테이블에 항목을 쓰기 위해 DynamoDB는 내부 해시 함수에 대한 입력으로 파티션 키 값을 사용합니다.
- 해시 함수 출력 값은 항목을 저장할 파티션을 결정합니다.
- 테이블에서 항목을 읽으려면 항목의 파티션 키 값을 지정해야 합니다.
- DynamoDB는 이 값을 해당 해시 함수의 입력으로 사용하여 항목을 찾을 수 있는 파티션을 결정합니다.
- 다음 다이어그램은 여러 파티션에 걸쳐 데이터가 저장된 Pets라는 테이블을 보여줍니다.
- 테이블의 기본 키는AnimalType입니다(이 키 속성만 표시됨).
- DynamoDB는 해시 함수를 사용하여 새 항목을 저장할 위치를 결정합니다.
- 이 경우 문자열 Dog의 해시 값이 기준으로 사용됩니다.
- 항목은 정렬 순서대로 저장되지 않습니다.
- 각 항목의 위치는 파티션 키의 해시 값으로 결정됩니다.
- DynamoDB는 파티션 수와 상관없이 항목을 테이블의 파티션에 균일하게 분배하는 데 최적화되어 있습니다.
- 테이블 항목 수에 비해 많은 수의 고유 값을 가질 수 있는 파티션 키를 선택할 것을 권장합니다.
데이터 배포: 파티션 키 및 정렬 키
- 테이블에 복합 기본 키(파티션 키 및 정렬 키)가 있는 경우
- 데이터 배포
- 파티션 키에 설명된 동일한 방식으로 DynamoDB에서 파티션 키의 해시 값을 계산합니다.
- 하지만 파티션 키 값이 같은 항목을 서로 가깝게 유지하고 정렬 키 속성 값을 기준으로 정렬하는 경향이 있습니다.
- 동일한 파티션 키 속성 값을 가진 항목 세트를 항목 모음이라고 합니다.
- 항목 모음은 모음 내 항목 범위를 효율적으로 검색할 수 있도록 최적화되어 있습니다.
- 테이블에 로컬 보조 인덱스가 없는 경우 DynamoDB는 데이터를 저장하고 읽기 및 쓰기 처리량을 제공하는 데 필요한 만큼의 파티션으로 항목 모음을 자동으로 분할합니다.
- 테이블에 항목을 기록하기 위해 DynamoDB는 파티션 키의 해시 값을 계산하여 항목을 저장할 파티션을 결정합니다.
- 해당 파티션에서는 여러 항목이 동일한 파티션 키 값을 가질 수 있습니다.
- 따라서 DynamoDB에서 동일한 파티션 키의 다른 항목 간에 정렬 키에 의해 오름차순으로 항목을 저장합니다.
- 데이터 배포
- 테이블에서 항목을 읽으려면 항목의 파티션 키 값과 정렬 키 값을 지정해야 합니다.
- DynamoDB는 파티션 키의 해시 값을 계산하여 항목을 찾을 수 있는 파티션을 결정합니다.
- 원하는 항목이 동일한 파티션 키 값을 가질 경우 단일 작업(Query)으로 테이블에서 여러 항목을 읽을 수 있습니다.
- DynamoDB는 해당 파티션 키 값을 갖는 모든 항목을 반환합니다.
- 특정 값 범위의 항목만 반환되도록 정렬 키에 조건을 적용할 수 있습니다(선택 사항).
- Pets 테이블이 AnimalType(파티션 키)와 Name(정렬 키)으로 구성된 복합 기본 키를 가진다고 가정하겠습니다.
- 다음 다이어그램에서는 DynamoDB가 파티션 키 값 Dog와 정렬 키 값 Fido를 사용하여 항목을 씁니다.
- Pets 테이블에서 동일한 항목을 읽기 위해 DynamoDB는 Dog의 해시 값을 계산하여 이들 항목이 저장된 파티션을 알아냅니다.
- 그런 다음 DynamoDB는 Fido를 찾을 때까지 정렬 키 속성 값을 스캔합니다.
- AnimalType이 Dog인 항목을 모두 읽으려면 정렬 키 조건을 지정하지 않고 Query 작업을 실행합니다.
- 기본적으로 항목은 정렬 순서대로, 즉 정렬 키 기준 오름차순으로 반환됩니다. 선택 사항으로 내림차순을 요청할 수 있습니다.
- 일부 Dog 항목만 쿼리하려면 정렬 키에 조건을 적용할 수 있습니다(예: Name이 A~K 범위 내 문자로 시작하는 Dog 항목만).
- 참고
- DynamoDB 테이블에서 파티션 키 값당 고유 정렬 키 값의 수는 상한이 없습니다. Pets 테이블에서 수십억 개의 Dog 항목을 저장해야 하는 경우 DynamoDB는 충분한 스토리지를 할당하여 이 요구 사항을 자동으로 처리합니다.
테이블 추가 파티션 할당 경우
- 기존 파티션이 지원할 수 있는 한도를 초과하여 테이블의 할당된 처리량 설정을 늘리는 경우.
- 기존 파티션 용량이 다 차서 추가 스토리지 공간이 필요한 경우.
DynamoDB의 파티션 및 데이터 배포 - Amazon DynamoDB
DynamoDB의 파티션 및 데이터 배포 Amazon DynamoDB는 데이터를 파티션에 저장합니다. 파티션은 SSD(Solid State Drive)로 백업되는 테이블용 스토리지 할당으로, AWS 리전 내의 여러 가용 영역에 자동으로 복
docs.aws.amazon.com
728x90
반응형
'Cloud' 카테고리의 다른 글
[Atlas] 스타트업 MongoDB 크레딧 최대 $5,000 지원받기 (0) | 2025.01.03 |
---|---|
[AWS] 사용 중인 프리 티어 서비스 한 번에 확인하기 (0) | 2024.12.17 |
[AWS] AWS Extend Switch Roles 활용하기 (0) | 2024.12.17 |
[AWS] RDS 무료로 사용하기 (0) | 2024.11.26 |
[AWS] IAM 접속 경로 alias 설정 (0) | 2024.11.16 |
[AWS] NoSQL, DynamoDB란? (1) | 2024.11.15 |
[AWS] 퍼블릭 IPv4 주소, EIP란? (0) | 2024.11.14 |
[AWS] 클라우드 기반 SMTP 설정, 이메일 서비스 공급자란? (2) | 2024.11.08 |