Pelajaran 1Memilih pola kunci partisi dan urut untuk tugas dan riwayat (kunci komposit, prefiks)Pelajari cara memilih pola kunci partisi dan urut yang efektif untuk item tugas dan riwayat. Jelajahi kunci komposit, prefiks kunci, dan trade-off desain yang memengaruhi fleksibilitas kueri, skalabilitas, dan distribusi tulis di sistem produksi.
Desain kunci komposit untuk item tugas dan riwayatMenggunakan prefiks kunci untuk mengelompokkan catatan tugas terkaitMerancang kunci untuk distribusi tulis dan baca yang merataPola untuk kueri riwayat tugas berurutan waktuPelajaran 2Pertimbangan cadangan, pemulihan, dan pemulihan pada waktu tertentu untuk data tugas dan log riwayatPelajari cara melindungi data tugas dan riwayat dengan cadangan dan opsi pemulihan. Pahami cadangan sesuai permintaan, pemulihan pada waktu tertentu, alur kerja pemulihan, dan cara merancang skema serta proses yang mendukung pemulihan yang aman dan dapat diuji.
Mengaktifkan dan mengelola pemulihan pada waktu tertentuMembuat dan memulihkan cadangan sesuai permintaanMerancang alur kerja pemulihan untuk tabel tugasMenguji pemulihan dan meminimalkan kehilangan dataPelajaran 3Serialisasi data dan tipe atribut: string, angka, peta, daftar, boolean, dan trade-off untuk atribut kompleksJelajahi tipe atribut DynamoDB untuk data tugas, termasuk string, angka, peta, daftar, dan boolean. Pelajari strategi serialisasi untuk field kompleks, trade-off untuk struktur bersarang, dan bagaimana pilihan memengaruhi biaya pengindeksan dan kueri.
Menggunakan tipe skalar untuk atribut tugas intiPeta dan daftar untuk field metadata fleksibelMenyimpan cap waktu dan penghitung numerikTrade-off atribut bersarang dan kompleksPelajaran 4Desain atribut item: skema item tugas dengan tipe (taskId, judul, deskripsi, status, updatedAt, metadata)Tentukan skema yang jelas untuk item tugas, termasuk pengenal, judul, deskripsi, status, cap waktu, dan metadata. Pelajari pilihan tipe, field wajib versus opsional, dan pola yang mendukung evolusi tanpa migrasi.
Field inti: taskId, judul, dan deskripsiMemodelkan status dan updatedAt secara konsistenMerancang struktur metadata fleksibelEvolusi skema tanpa migrasi beratPelajaran 5Pemetaan pola akses: kueri untuk tugas tunggal, riwayat tugas berurutan waktu, daftar tugas terbaru, strategi paginasiPetakan pola akses nyata ke kueri DynamoDB untuk tugas dan riwayat. Pelajari cara mengkueri tugas tunggal, mengambil riwayat berurutan, mendaftar tugas terbaru, dan menerapkan paginasi menggunakan kondisi kunci, filter, dan desain kunci urut yang hati-hati.
Mengkueri tugas tunggal dan status terbarunyaMengambil riwayat tugas berurutan berdasarkan cap waktuMendaftar tugas terbaru atau aktif secara efisienPaginasi dengan LastEvaluatedKey dan batasPelajaran 6Strategi kunci utama dan indeks sekunder: GSI dan LSI untuk kueri alternatif (berdasarkan status, pengguna)Rancang kunci utama dan indeks sekunder untuk mendukung kueri alternatif, seperti berdasarkan status atau pengguna. Pelajari kapan menggunakan GSI versus LSI, pilihan kunci indeks, atribut yang diproyeksikan, dan bagaimana indeks memengaruhi biaya dan throughput.
Memilih kunci utama untuk akses tugas utamaMerancang GSI untuk kueri berdasarkan statusIndeks untuk mengkueri tugas berdasarkan pengguna atau pemilikPilihan proyeksi dan dampak biaya indeksPelajaran 7Memodelkan pembaruan bersyarat dan konkurensi optimis dengan ConditionalExpression dan attribute_exists/attribute_not_existsModel pembaruan konkurensi yang aman ke tugas menggunakan kondisi DynamoDB. Pelajari konkurensi optimis dengan atribut versi, ConditionalExpression, dan pemeriksaan attribute_exists untuk mencegah pembaruan hilang dan menegakkan aturan bisnis.
Atribut versi untuk konkurensi optimisMenggunakan ConditionalExpression dalam pembaruanPenggunaan attribute_exists dan attribute_not_existsMenangani kegagalan pemeriksaan bersyarat dengan amanPelajaran 8Desain atribut item: skema item riwayat dengan tipe (taskId, eventId, status, previousStatus, changedBy, timestamp, reason)Rancang skema yang kuat untuk item riwayat tugas, termasuk pengenal, transisi status, field audit, dan alasan. Pelajari cara memilih tipe atribut, menegakkan konsistensi, dan mendukung kueri serta analitik efisien pada peristiwa siklus hidup tugas.
Pengenal inti: pilihan taskId dan eventIdMemodelkan transisi status dan previousStatusMenangkap changedBy, timestamp, dan reasonMemilih tipe atribut untuk field riwayatPelajaran 9Pemilihan tabel DynamoDB dan rasional desain tabel tunggal vs multi-tabelPahami kapan menggunakan satu tabel DynamoDB versus beberapa tabel untuk pelacakan tugas. Bandingkan isolasi, biaya, dan kompleksitas operasional, serta pelajari cara menyelaraskan desain tabel dengan microservices, kepemilikan, dan pola akses.
Kapan tabel tunggal cocok untuk kebutuhan pelacakan tugasKapan beberapa tabel adalah pilihan yang lebih baikMemodelkan kepemilikan dan batas layananBiaya, batas, dan trade-off operasionalPelajaran 10Praktik terbaik DynamoDB: mode kapasitas, pola tulis, tulis bersyarat, penghitung atomik, transaksi, dan TTL untuk entri riwayat lamaTerapkan praktik terbaik DynamoDB untuk beban kerja pelacakan tugas. Bandingkan mode kapasitas, rancang pola tulis efisien, gunakan tulis bersyarat, penghitung atomik, transaksi, dan TTL untuk mengelola entri riwayat lama dan mengontrol pertumbuhan penyimpanan.
Memilih antara kapasitas sesuai permintaan dan provisionedMerancang pola tulis untuk item tugas panasMenggunakan tulis bersyarat dan penghitung atomikTransaksi dan TTL untuk data riwayat yang menua