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 Anda dan indeks sekunder global (GSIs):
-
Mengikuti praktik terbaik desain kunci, gunakan
ComponentIdsebagai kunci partisi untuk tabel dasar dalam contoh ini. Karena unik,ComponentIdbisa 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 kunciComponentIdpartisi. -
Untuk menemukan turunan langsung dari komponen, buat GSI di mana
ParentIdkunci partisi, danComponentIdmerupakan kunci pengurutan. Anda dapat menanyakan GSI ini dengan menggunakanParentIdsebagai kunci partisi. -
Untuk menemukan semua turunan rekursif dari sebuah komponen, buat GSI di mana
GraphIdkunci partisi, danPathmerupakan kunci pengurutan. Anda dapat menanyakan GSI ini dengan menggunakanGraphIdsebagai 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 | CM1 0 |
GSI1 Indeksnya
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 |
GSI2 Indeksnya
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 | CM1 0 CM1|CM3|CM6 CM1|CM3|CM7 |
CM1 CM2 CM3 CM4 CM5 CM8 CM9 CM10 CM6 CM7 |