DynamoDB - Nhiều khóa phạm vi


8

Có thể có nhiều trường làm khóa phạm vi không?

Giả sử tôi có một bảng trong đó mỗi hàng được xác định duy nhất bởi <A,B,C>

 -------------------------------
 A   |   B   |  C  |  D   |  E  |
 -------------------------------

nơi Alà chính hashchủ chốt

và tôi muốn BCrangechìa khóa chính .

Làm cách nào tôi có thể có nhiều hơn 2 trường làm khóa chính trong DynamoDB?

Câu trả lời:


6

Bạn không thể có nhiều hơn 2 trường làm khóa chính trong DynamoDB.

Như một giải pháp thay thế, bạn có thể tạo local secondary indexcho từng trường mà bạn muốn trở thành một khóa phạm vi. Nhưng bạn sẽ không thể xây dựng truy vấn với nhiều khóa phạm vi cùng lúc vì DynamoDB chỉ có thể sử dụng một chỉ mục một lần.

Cân nhắc sử dụng các biểu thức lọc, có thể bạn sẽ sử dụng nhiều thông lượng đọc hơn (quá trình lọc được thực hiện sau khi nhận được dữ liệu từ db) so với nhu cầu của bạn nhưng nhận được kết quả mong muốn.


8

Đặt một bản sao của B và C trong trường phạm vi (dưới dạng cột thêm) và đặt khóa phạm vi của bạn như "B_C" và bạn vẫn có thể có các cột riêng cho B và C nếu bạn cần.


Cách tiếp cận này có thể được sử dụng như một giải pháp cho vấn đề này ?
Birowsky
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.