BatchRequest
1 DynamoDB 배치 작업 이해하기
- Amazon DynamoDB는 빠르고 예측 가능한 성능과 원활한 확장성을 제공하는 완전 관리형 NoSQL 데이터베이스 서비스입니다.
- DynamoDB의 강력한 기능 중 하나는 단일 API 호출로 여러 항목을 읽고 쓸 수 있는 배치 작업입니다.
- 이 기능은 높은 처리량과 낮은 지연 시간을 요구하는 애플리케이션의 성능과 효율성을 최적화하는 데 필수적입니다.
2 BatchGetItem
- 레퍼런스
- BatchGetItem은 여러 DynamoDB 테이블에서 한 번에 여러 항목을 검색할 수 있는 API 작업입니다.
- 이 API를 사용하면 최대 100개의 항목 또는 16MB의 데이터를 한 번에 검색할 수 있습니다.
- 각 항목은 주로 기본 키(파티션 키와 정렬 키)를 사용하여 식별됩니다.
- 이 작업은 읽기 작업에 필요한 API 호출 수를 크게 줄여 효율성을 높이고 비용을 절감할 수 있습니다.
2.1 특징
- 다중 테이블: 단일 요청으로 여러 테이블에서 항목을 읽을 수 있습니다.
- 최대 항목 수: 최대 100개의 항목 또는 16MB의 데이터를 요청할 수 있습니다.
- 일관성: 강력한 일관성 읽기 또는 최종 일관성 읽기를 선택할 수 있습니다.
2.2 BatchGetItem 사용 방법
요청 예시:
{
"RequestItems": {
"Forum": {
"Keys": [
{
"Name":{"S":"Amazon DynamoDB"}
},
{
"Name":{"S":"Amazon RDS"}
},
{
"Name":{"S":"Amazon Redshift"}
}
],
"ProjectionExpression":"Name, Threads, Messages, Views"
},
"Thread": {
"Keys": [
{
"ForumName":{"S":"Amazon DynamoDB"},
"Subject":{"S":"Concurrent reads"}
}
],
"ProjectionExpression":"Tags, Message"
}
},
"ReturnConsumedCapacity": "TOTAL"
}
- RequestItems:
- 검색할 테이블과 각 테이블에서 가져올 항목들을 지정합니다.
- 이 예시에서는 "Forum"과 "Thread" 두 개의 테이블에서 항목을 검색합니다.
- Keys:
- 각 테이블에서 검색할 항목들의 기본 키 값을 지정합니다.
- "Forum" 테이블에서는 "Name" 속성을 키로 사용하여 3개의 항목을 검색합니다.
- "Thread" 테이블에서는 "ForumName"