Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Langkah 5: Buat model data DynamoDB
Tentukan kunci partisi untuk tabel dasar dan indeks sekunder global (GSI) Anda:
-
Mengikuti praktik terbaik desain kunci, gunakan
ComponentId
sebagai kunci partisi untuk tabel dasar dalam contoh ini. Karena unik,ComponentId
bisa menawarkan granularitas. DynamoDB menggunakan nilai hash dari kunci partisi Anda untuk menentukan partisi tempat data disimpan secara fisik. ID komponen unik menghasilkan nilai hash yang berbeda, yang dapat memfasilitasi distribusi data di dalam tabel. Anda dapat menanyakan tabel dasar dengan menggunakan kunciComponentId
partisi. -
Untuk menemukan turunan langsung dari komponen, buat GSI di mana
ParentId
kunci partisi, danComponentId
merupakan kunci pengurutan. Anda dapat menanyakan GSI ini dengan menggunakanParentId
sebagai kunci partisi. -
Untuk menemukan semua turunan rekursif dari sebuah komponen, buat GSI di mana
GraphId
kunci partisi, danPath
merupakan kunci pengurutan. Anda dapat menanyakan GSI ini dengan menggunakanGraphId
sebagai kunci partisi danBEGINS_WITH(Path, "$path")
operator pada tombol sortir.
Kunci partisi |
Sortir Kunci |
Atribut pemetaan |
|
Tabel dasar |
|
|
|
GSI1 |
|
|
|
GSI2 |
|
|
|
Menyimpan komponen dalam tabel
Langkah selanjutnya adalah menyimpan setiap komponen dalam tabel dasar DynamoDB. Setelah Anda memasukkan semua komponen dari pohon contoh, Anda mendapatkan tabel dasar berikut.
ComponentId |
ParentId |
GraphId |
Jalan |
CM1 |
CM1 #1 |
CM1 |
|
CM2 |
CM1 |
CM1 #1 |
CM1 | CM2 |
CM3 |
CM1 |
CM1 #1 |
CM1 | CM3 |
CM4 |
CM2 |
CM1 #1 |
CM1 | CM2 | CM4 |
CM5 |
CM2 |
CM1 #1 |
CM1 | CM2 | CM5 |
CM6 |
CM3 |
CM1 #1 |
CM1 | CM3 | CM6 |
CM7 |
CM3 |
CM1 #1 |
CM1 | CM3 | CM7 |
CM8 |
CM4 |
CM1 #1 |
CM1 | CM2 | CM4 | CM8 |
CM9 |
CM4 |
CM1 #1 |
CM1 | CM2 | CM4 | CM9 |
CM10 |
CM5 |
CM1 #1 |
CM1 | CM2 | CM5 | CM10 |
Indeks GSI1
Untuk memeriksa semua turunan langsung dari komponen, Anda membuat indeks yang digunakan ParentId
sebagai kunci partisi dan ComponentId
sebagai kunci pengurutan. Tabel pivot berikut mewakili indeks GSI1. Anda dapat menggunakan indeks ini untuk mengambil semua komponen turunan langsung dengan menggunakan ID komponen induk. Misalnya, Anda dapat mengetahui berapa banyak baterai yang tersedia di mobil (CM1) atau sel mana yang tersedia dalam modul (CM4).
ParentId |
ComponentId |
CM1 |
CM2 CM3 |
CM2 |
CM4 CM5 |
CM3 |
CM6 CM7 |
CM4 |
CM8 CM9 |
CM5 |
CM10 |
Indeks GSI2
Tabel pivot berikut mewakili indeks GSI2. Ini dikonfigurasi menggunakan GraphId
sebagai kunci partisi dan Path
sebagai kunci pengurutan. Menggunakan GraphI
d dan begins_with
operasi pada kunci sortir (Path
), Anda dapat menemukan garis keturunan lengkap komponen dalam pohon.
GraphId |
Jalan |
ComponentId |
CM1 #1 |
CM1 CM1 | CM2 CM1 | CM3 CM1 | CM2 | CM4 CM1 | CM2 | CM5 CM1 | CM2 | CM4 | CM8 CM1 | CM2 | CM4 | CM9 CM1 | CM2 | CM5 | CM10 CM1 | CM3 | CM6 CM1 | CM3 | CM7 |
CM1 CM2 CM3 CM4 CM5 CM8 CM9 CM10 CM6 CM7 |