DynamoDB 정렬 키를 설정하는 방법

Dynamodb Jeonglyeol Kileul Seoljeonghaneun Bangbeob



DynamoDB는 데이터를 테이블로 구성하는 기능으로 인해 계속 인기를 얻고 있습니다. 테이블 외에도 DynamoDB에는 데이터베이스의 유용성을 지원하는 기본 키와 테이블 또는 데이터베이스를 통해 쿼리 및 스캔을 처리할 때 제공되는 편의성이 있습니다.

테이블을 생성할 때 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는 파티션 키와 정렬 키를 함께 사용하여 테이블과 인덱스만 쿼리한다는 점에 유의해야 합니다. 정렬 키만 사용하여 테이블을 쿼리할 수는 없습니다. 먼저 파티션 키를 지정해야 합니다.