DynamoDB 사용하시는 분들 계신가요? 정렬 어떻게 하시는지 궁금합니다. DynamoDB가 내부적으로…

DynamoDB 사용하시는 분들 계신가요? 정렬 어떻게 하시는지 궁금합니다.

DynamoDB가 내부적으로 Hash Key와 Sorted Range Key 두 개의 PK 컬럼을 가지고 인덱싱을 하는 것으로 알고 있습니다. 그런데 정렬된 결과를 받을 수 있는 API는 (scan_index_forward 인자를 받는) Query 뿐이고, Query API는 Hash Key를 무조건 넘겨야하기 때문에, (Hash Key는 Unique하고, evenly distributed되도록 설계해야한다고 본 적이 있어서) 도저히 Range Key를 기준으로 정렬된 결과를 받을 수가 없는 것 같습니다.

(제가 잘못 사용하고 있는 것 같기도 합니다만) 보통 어떻게 하시는지 방법 공유 부탁드려요.

7 thoughts on “DynamoDB 사용하시는 분들 계신가요? 정렬 어떻게 하시는지 궁금합니다. DynamoDB가 내부적으로…

  1. QueryRequest queryRequest = new QueryRequest().withTableName(tableName)
    .withHashKeyValue(…)
    .withRangeKeyCondition(rangeKeyCondition) 와 같이 메소드를 연속적으로 호출하는 것이 보입니다. 제가 이해하기로는 가능한 것으로 보입니다.

  2. 아무래도 (hash, range) pk tuple이 unique하면 되어보여서, 일단은 그런식으로 해결해볼 생각입니다. (hash가 unique해야한다는 것은 제가 잘못 이해했던 것 같네요)

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.