Kali ini, Anda mempelajari beberapa contoh sederhana memasukkan dan mengambil data dengan DynamoDB. Buat tabel DynamoDB Anda dengan API CreateTable, lalu masukkan beberapa item dengan panggilan API BatchWriteItem. Akhirnya, Anda mengambil item individual dengan panggilan API GetItem. Sebelum Anda mempelajari contoh-contoh ini, kita akan membahas model data yang akan digunakan dalam contoh aplikasi toko buku online Anda.
Pada modul berikutnya, Anda mempelajari cara mengambil beberapa item sekaligus dengan menggunakan panggilan API Query dan cara mengaktifkan pola query lainnya dengan menggunakan indeks sekunder. Lihat juga cara memperbarui item yang ada di tabel Anda.
Waktu untuk Menyelesaikan Modul: 15 Menit
Konsep DynamoDB berikut ini memainkan peran penting dalam modul ini:
- Table: Sekumpulan arsip data DynamoDB.
- Item: Satu arsip data pada tabel DynamoDB. Ini hampir sama dengan baris dalam database relasional.
- Attribute: Satu elemen data pada suatu item. Ini hampir sama dengan kolom dalam database relasional. Namun, tidak seperti kolom dalam database relasional, atribut tidak perlu ditentukan saat pembuatan tabel, selain kunci utama yang dibahas nanti dalam modul ini. Atribut dapat berupa tipe sederhana seperti string, integer, atau Boolean, atau atribut tersebut dapat berupa tipe kompleks seperti daftar atau peta.
- Primary key: Primary key adalah pengidentifikasi unik untuk satu item dalam tabel DynamoDB. Nama dan tipe primary key harus ditentukan saat pembuatan tabel, dan primary key dengan tipe yang ditentukan harus disertakan dengan setiap item yang ditulis ke tabel. Suatu primary key sederhana terdiri dari satu atribut, dan primary key komposit terdiri dari dua atribut: partition key dan sort key. Contoh, Anda dapat membuat primary key sederhana dengan “UserID” sebagai pengidentifikasi, atau membuat primary key komposit dengan menggabungkan “UserID” dan “Creation_Date” sebagai pengidentifikasi item.
Saat membangun aplikasi, selalulah luangkan waktu untuk mendesain model data yang diperlukan dalam logika aplikasi Anda. Desain model data ini harus mempertimbangkan kebutuhan akses data yang kelak diperlukan dalam aplikasi Anda, baik untuk membaca maupun menulis data.
DynamoDB adalah database nonrelasional. Dengan database non-relasional, Anda tidak perlu menentukan skema penuh di awal saat membuat tabel. Anda hanya perlu menyatakan primary key untuk tabel Anda, yang secara unik mengidentifikasi setiap arsip di tabel Anda. Ini mengurangi biaya awal desain model data Anda karena Anda dapat dengan mudah memodifikasi skema Anda karena berubahnya kebutuhan aplikasi Anda.
Seperti disinggung di bagian “Latar belakang aplikasi” pada bab “Pendahuluan” tutorial ini, aplikasi Anda harus mengambil satu buku menurut judul dan penulisnya. Karena kombinasi judul dan penulis adalah pengidentifikasi unik sebuah buku, Anda dapat menggunakan atribut tersebut sebagai primary key tabel Anda. Aplikasi Anda juga harus menyimpan informasi tentang kategori buku kami, seperti sejarah atau biografi, serta format buku Anda yang tersedia - hardcover, paperback, atau audiobook - yang dipetakan ke nomor item dalam sistem inventaris Anda.
Mempertimbangkan kebutuhan ini, Anda dapat menggunakan skema berikut untuk tabel Anda:
- Title (string): Judul buku
- Author (string): Penulis buku
- Category (string) Kategori buku, seperti Sejarah, Biografi, dan Sci-Fi
- Formats (peta): Berbagai format yang Anda tawarkan (seperti hardcover, paperback, dan audiobook) berikut nomor-nomor itemnya di sistem inventaris Anda
Dengan langkah-langkah berikut, buatlah tabel dengan menentukan primary key komposit (Author dan Title) tabel Anda. Lalu, muat beberapa item ke dalam tabel Anda dan baca masing-masing item dari tabel.