Pemodelan Data
Di sinilah DynamoDB paling jauh menyimpang dari SQL. Anda tidak menormalkan ke dalam
satu tabel per entitas — Anda mulai dari pola akses Anda dan merancang key yang
melayaninya, sering kali mengemas setiap entitas ke dalam satu tabel tunggal. Dilakukan
dengan benar, Anda mengambil induk dan anak-anaknya dalam satu Query, tanpa join.
Dilakukan dengan salah, Anda mendapat tabel yang tidak bisa di-query dan migrasi yang tidak bisa dijalankan. Jadi trade-off-nya penting, dan bagian ini jujur tentang kasus-kasus di mana single-table design adalah pilihan yang salah.
Mulai dengan single-table design — semua yang setelahnya mengasumsikan model mental itu.
Buat sketsa schema sebelum Anda membangunnya dengan alat Single-Table
Design gratis — ia mengubah daftar pola akses
menjadi sebuah rencana PK/SK/GSI. Lalu
coba DynoTable untuk memodelkan dan menjelajahi tata letak ini terhadap
tabel langsung — dan untuk pertanyaan ad-hoc yang tak dilayani key Anda,
SQL Workbench-nya menjalankan JOIN, GROUP BY, dan
agregat di sisi klien.