DynamoDB - Beberapa tombol rentang

9

Apakah mungkin memiliki beberapa bidang sebagai tombol rentang?

Katakanlah saya memiliki tabel tempat setiap baris diidentifikasi secara unik oleh <A,B,C>

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

di mana kunci Autamahash

dan saya ingin Bdan Cmenjadi rangekunci utama .

Bagaimana saya bisa memiliki lebih dari 2 bidang sebagai kunci utama di DynamoDB?

pengguna7
sumber

Jawaban:

6

Anda tidak dapat memiliki lebih dari 2 bidang sebagai kunci utama di DynamoDB.

Sebagai solusinya, Anda bisa membuat local secondary indexuntuk setiap bidang yang Anda ingin menjadi tombol rentang. Tetapi Anda tidak akan dapat membangun kueri dengan beberapa tombol rentang secara bersamaan karena DynamoDB hanya dapat menggunakan satu indeks pada satu waktu.

Pertimbangkan untuk menggunakan ekspresi filter, Anda mungkin akan menggunakan lebih banyak throughput baca (penyaringan dilakukan setelah data diterima dari db) daripada yang Anda butuhkan tetapi dapatkan hasil yang diinginkan.

Sangat mudah Sochinsky
sumber
8

Letakkan salinan B dan C di bidang rentang (sebagai kolom tambahan) dan buat bahwa kunci rentang Anda seperti "B_C" dan Anda masih bisa juga memiliki kolom terpisah untuk B dan C jika perlu.

Jeff M
sumber
Bisakah pendekatan ini digunakan sebagai solusi untuk masalah ini ?
Birowsky