Koleksi item - cara memodelkan one-to-many hubungan di DynamoDB - Amazon DynamoDB

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Koleksi item - cara memodelkan one-to-many hubungan di DynamoDB

Di DynamoDB, koleksi item adalah sekelompok item yang berbagi nilai kunci partisi yang sama, yang berarti item tersebut terkait. Koleksi item adalah mekanisme utama untuk memodelkan one-to-many hubungan di DynamoDB. Koleksi item hanya bisa ada pada tabel atau indeks yang dikonfigurasi untuk menggunakan kunci primer komposit.

catatan

Koleksi item bisa ada di tabel dasar atau indeks sekunder. Untuk informasi selengkapnya secara spesifik tentang bagaimana kumpulan item berinteraksi dengan indeks, lihat Koleksi item dalam Indeks Sekunder Lokal.

Perhatikan tabel berikut yang menunjukkan tiga pengguna berbeda dan inventaris dalam game mereka:

Tiga koleksi item yang berbeda dengan atribut yang berbeda.

Untuk beberapa item di setiap koleksi, kunci urutan adalah gabungan informasi yang digunakan untuk mengelompokkan data, misalnya inventory::armor, inventory::weapon, atau info. Setiap koleksi item dapat memiliki kombinasi yang berbeda dari atribut ini sebagai kunci urutan. Pengguna account1234 memiliki item inventory::weapons, sementara pengguna account1387 tidak memilikinya (karena mereka belum menemukan apa pun). Pengguna account1138 hanya menggunakan dua item untuk kunci urutan mereka (karena mereka belum memiliki inventaris) sedangkan pengguna lain menggunakan tiga item.

DynamoDB memungkinkan Anda secara selektif mengambil item dari koleksi item ini untuk melakukan hal berikut:

  • Mengambil semua item dari pengguna tertentu

  • Mengambil hanya satu item dari pengguna tertentu

  • Mengambil semua item dari jenis tertentu milik pengguna tertentu

Mempercepat kueri dengan mengatur data Anda dengan koleksi item

Dalam contoh ini, masing-masing item dalam tiga kumpulan item ini mewakili pemain dan model data yang telah kita pilih, berdasarkan pola akses game dan pemain. Data apa yang dibutuhkan game? Kapan game membutuhkannya? Seberapa sering game membutuhkannya? Berapa biaya untuk melakukannya dengan cara ini? Keputusan pemodelan data ini dibuat berdasarkan jawaban atas pertanyaan-pertanyaan ini.

Dalam game ini, ada halaman berbeda yang disajikan kepada pemain untuk inventaris senjata dan halaman lain untuk baju besi. Saat pemain membuka inventarisnya, senjata ditampilkan terlebih dahulu karena kami ingin halaman tersebut dimuat dengan sangat cepat, sedangkan halaman inventaris berikutnya dapat dimuat setelahnya. Karena masing-masing jenis item ini bisa berukuran cukup besar seiring pemain memperoleh lebih banyak item dalam game, kami memutuskan bahwa setiap halaman inventaris akan menjadi itemnya sendiri dalam koleksi item pemain di database.

Bagian berikut membahas lebih lanjut tentang bagaimana Anda dapat berinteraksi dengan koleksi item melalui operasi Query.