Operasi CRUD DynamoDB dan Query vs Scan
Menggunakan Data Store di AWS
Dunieski Otano
AWS Solutions Architect
Kesalahan yang mahal
Developer memakai Scan untuk mencari satu pengguna
Membaca seluruh tabel 1 juta item
Tagihan: $500 untuk satu pencarian
Query hanya sekitar $0,01
Operasi CRUD di DynamoDB
PutItem
: Buat atau ganti item
GetItem
: Baca item via primary key
UpdateItem
: Ubah atribut tertentu
DeleteItem
: Hapus item
Query
: Ambil item berdasarkan partition key (efisien)
Scan
: Baca seluruh tabel (mahal)
Query vs Scan: perbedaan utama
Query
: Butuh partition key, baca item tertentu
Cepat, efisien, biaya rendah
Scan
: Baca seluruh tabel, filter setelahnya
Lambat, mahal, hindari bila bisa
Aturan: Jika tahu key, gunakan Query. Jika tidak, tinjau desain.
Mencegah kondisi balapan dengan ekspresi kondisional
Masalah: Dua pengguna mengupdate item yang sama bersamaan
Solusi: Ekspresi kondisional
Contoh: Update hanya jika nilai saat ini sesuai harapan
Ekspresi UpdateItem: memodifikasi atribut
SET
: Tetapkan nilai atribut atau buat atribut baru
ADD
: Naikkan/turunkan angka, tambah ke set
REMOVE
: Hapus atribut dari item
DELETE
: Hapus elemen dari set
Paginasi dengan Query dan Scan
Masalah
: Hasil besar melebihi batas 1MB
Solusi
: Paginasi dengan LastEvaluatedKey
Limit
: Atur item per halaman
Lanjutkan hingga LastEvaluatedKey bernilai null
Ayo berlatih!
Menggunakan Data Store di AWS
Preparing Video For Download...