테이블을 생성할 때 DynamoDB 정렬 키를 설정하는 방법을 이해하면 데이터를 구성하는 데 큰 도움이 됩니다. 또한 필요할 때마다 데이터를 검색하는 효율성을 향상시킵니다.
이 문서는 DynamoDB 정렬 키에 중점을 둡니다. DynamoDB 정렬 키가 무엇인지 논의하는 것 외에도 정렬 키를 설정하고 사용하는 방법도 논의할 것입니다.
DynamoDB 정렬 키는 무엇이며 언제 적용됩니까?
정렬 키는 파티션의 항목을 구성하기 위해 DynamoDB에서 사용되는 속성입니다. 일반적으로 여러 항목의 파티션 키 값은 비슷하지만 정렬 키 값은 다를 수 있습니다. 물론 DynamoDB는 파티션 키만 사용하고 단일 테이블에서 파티션 키와 정렬 키를 결합하는 것을 지원합니다.
이러한 경우 기본 키는 파티션 키와 정렬 키로 구성되며 해당 값은 각각 productID 및 productType입니다. 복합 키로 알려진 이 속성 조합을 사용하면 항목을 보다 쉽고 효율적으로 검색할 수 있습니다. 또한 파티션 키는 내부 HASH 기능을 사용하고 정렬 키는 RANGE 기능을 사용합니다.
Dynamo DB 테이블에서 정렬 키를 설정하는 방법에 대한 단계별 안내서
파티션 키와 마찬가지로 DynamoDB 정렬 키 생성은 DynamoDB 테이블을 설정할 때 발생합니다. 두 경우 모두 키 스키마를 먼저 생성하는 것과 관련됩니다. 정렬 키는 독립적이지 않고 기본 복합 키 또는 해시 범위 키 조합의 파티션 키와 함께 작동하므로 먼저 테이블에 대한 파티션 키를 생성해야 합니다.
1단계: 테이블의 파티션 키 생성
정렬 키는 파티션 키와 직접적인 관계가 있습니다. 그리고 파티션 키는 DynamoDB 배열에서 가장 지배적이기 때문에 테이블 이름을 입력한 후 파티션 키를 생성하는 것부터 시작하십시오. 다음 단축 구문을 사용할 수 있습니다.
AttributeName=문자열, 키 유형=문자열 ...속기 구문의 속성 유형은 다음 중 하나일 수 있습니다. 문자열(S), 숫자(N) 또는 이진수(B). 그러나 파티션 키를 설정할 때 속기 구문이 번거롭다면 다음 JSON 구문을 사용할 수 있습니다.
[
{
'속성 이름': '문자열',
'키 유형': '해시'
}
...
]
2단계: 정렬 키 추가
다음 JSON 구문을 사용하여 정렬 키를 추가하십시오. 정렬 키는 ID가 아니어야 합니다. 대신 유형 속성을 사용하십시오.
[{
'속성 이름': '문자열',
'키 유형': '범위'
}
...
]
DynamoDB 파티션 키를 생성할 때 HASH 함수를 사용했습니다. 이제 DynamoDB 정렬 키를 설정할 때 RANGE 함수를 사용합니다.
AWS Management 콘솔에는 정렬 키를 추가하고 표시된 대로 표시하고 키를 추가하는 옵션이 있습니다. 예를 들어 새 주문에 대한 테이블에서 파티션 키로 customer_ID 또는 order_ID를, 정렬 키로 invoice_number를 가질 수 있습니다.
다음 그림을 참조하십시오.
파티션 키와 정렬 키 속성은 모두 String(S), Number(N) 또는 Binary(B) 형식일 수 있다는 점에 유의해야 합니다.
Java에서 파티션 키와 정렬 키 항목이 모두 있는 Music 테이블은 다음과 같아야 합니다.
패키지 com.dynamoDbDemo.entity;import com.amazonaws.services.dynamodbv2.datamodeling.*;
@DynamoDBTable(tableName = '음악')
공개 수업 음악 {
개인 스트링 아티스트;
비공개 String songTitle;
@DynamoDBHashKey(attribute)
}
공공 무효 setSongTitle(String SongTitle) {
this.songTitle = 노래제목;
}
@DynamoDBRangeKey(attribute) // 정렬 키
공개 문자열 getSongTitle() {
return songTitle;
}
공공 무효 setSongTitle(문자열 songTitle) {
this.songTitle = 노래제목;
}
이전 명령줄에서 DynamoDBTable은 속성을 테이블 속성에 매핑하는 데 사용되는 Java 주석이며 DynamoDBHashKey 주석은 파티션 키를 지정합니다. 마찬가지로 DynamoDBRangeKey 주석은 항목을 정렬 키 속성 전용으로 지정합니다. 계속해서 기본이 아닌 다른 속성을 테이블에 추가할 수 있습니다.
결론
이 안내서에서는 DynamoDB 테이블에서 정렬 키를 설정하는 방법에 대해 설명합니다. 정렬 키 속성을 생성한 후에는 변경할 수 없습니다. 다시 말하지만 DynamoDB는 파티션 키와 정렬 키를 함께 사용하여 테이블과 인덱스만 쿼리한다는 점에 유의해야 합니다. 정렬 키만 사용하여 테이블을 쿼리할 수는 없습니다. 먼저 파티션 키를 지정해야 합니다.