Langkah 5: Buat model data DynamoDB - AWS Panduan Preskriptif

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 kunci ComponentId partisi.

  • Untuk menemukan turunan langsung dari komponen, buat GSI di mana ParentId kunci partisi, dan ComponentId merupakan kunci pengurutan. Anda dapat menanyakan GSI ini dengan menggunakan ParentId sebagai kunci partisi.

  • Untuk menemukan semua turunan rekursif dari sebuah komponen, buat GSI di mana GraphId kunci partisi, dan Path merupakan kunci pengurutan. Anda dapat menanyakan GSI ini dengan menggunakan GraphId sebagai kunci partisi dan BEGINS_WITH(Path, "$path") operator pada tombol sortir.

Kunci partisi

Sortir Kunci

Atribut pemetaan

Tabel dasar

ComponentId

ParentId, GraphId, Path

GSI1

ParentId

ComponentId

GSI2

GraphId

Path

ComponentId

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