0Pricing
Cloud & IT Cert Prep · Pelajaran

Aliran DynamoDB dan Tabel Global

Proses perubahan tingkat item secara waktu nyata dengan Streams dan replikasi data lintas-Region menggunakan tabel global untuk pembacaan berlatensi rendah di seluruh dunia.

Aliran DynamoDB dan Tabel Global adalah pelajaran Cloud & IT Cert Prep gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cloud & IT Cert Prep, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.

DynamoDB Stream: Pengambilan Data Perubahan

Stream DynamoDB merekam urutan perubahan pada tingkat item dalam tabel DynamoDB berdasarkan urutan waktu. Setiap kali item dibuat, diperbarui, atau dihapus, DynamoDB menulis catatan stream yang menjelaskan perubahan tersebut. Catatan stream tersedia selama 24 jam setelah ditulis.

Stream merupakan dasar arsitektur berbasis peristiwa dengan DynamoDB. Penggunaan umumnya meliputi pemicu fungsi Lambda untuk pemrosesan waktu nyata, pemeliharaan log audit, replikasi data ke penyimpanan lain, atau pembatalan validitas tembolok saat data berubah.

# Enable a DynamoDB Stream on an existing table
aws dynamodb update-table \
  --table-name Orders \
  --stream-specification StreamEnabled=true,StreamViewType=NEW_AND_OLD_IMAGES

Jenis Tampilan Stream

Saat mengaktifkan stream, Anda memilih StreamViewType yang menentukan data apa saja yang terdapat dalam setiap catatan stream:

  • HANYA_KUNCI: hanya atribut kunci utama dari item yang diubah
  • GAMBARAN_BARU: seluruh item sebagaimana tampil setelah perubahan
  • GAMBARAN_LAMA: seluruh item sebagaimana tampil sebelum perubahan
  • NEW_AND_OLD_IMAGES: keadaan item sebelum dan sesudah perubahan

Pilih NEW_AND_OLD_IMAGES untuk audit (agar dapat melihat perubahan), NEW_IMAGE untuk replikasi atau pembaruan tembolok, dan KEYS_ONLY jika Anda hanya perlu mengetahui item mana yang berubah dan akan mengambil keadaannya saat ini secara terpisah.

Memproses Stream dengan Lambda

Cara paling umum untuk menggunakan Stream DynamoDB adalah dengan AWS Lambda. Lambda melakukan polling pada stream dan memanggil fungsi Anda dengan sekumpulan catatan stream. Lambda menangani polling, pembuatan titik pemeriksaan, dan percobaan ulang secara otomatis.

Parameter konfigurasi utama: ukuran kelompok (jumlah catatan per pemanggilan, hingga 10.000), membagi saat terjadi kesalahan (membagi kelompok yang gagal untuk mengisolasi catatan yang bermasalah), dan tujuan saat gagal (SQS atau SNS untuk catatan yang tidak dapat diproses). Lambda membaca dari setiap pecahan secara paralel, sehingga tingkat paralelismenya sama dengan jumlah pecahan dalam stream.

# Add Lambda as a stream trigger via CLI
aws lambda create-event-source-mapping \
  --function-name process-orders-stream \
  --event-source-arn arn:aws:dynamodb:us-east-1:123456789:table/Orders/stream/2026-06-20T00:00:00.000 \
  --starting-position LATEST \
  --batch-size 100 \
  --bisect-batch-on-function-error

Kasus Penggunaan Stream

Kasus penggunaan praktis Stream DynamoDB dalam ujian SAA-C03:

  • Replikasi lintas wilayah: Lambda membaca stream dan menulis perubahan ke tabel di Region lain (sebelum Global Tables tersedia, ini merupakan pola standar)
  • Pembatalan validitas ElastiCache: saat item DynamoDB berubah, Lambda membatalkan validitas atau memperbarui kunci tembolok yang sesuai
  • Sinkronisasi indeks pencarian: mengirim perubahan item ke OpenSearch Service untuk mengaktifkan pencarian teks lengkap pada data DynamoDB
  • Pencatatan audit: menulis setiap perubahan ke S3 atau penyimpanan kepatuhan untuk keperluan peraturan
  • Layanan mikro berbasis peristiwa: memicu layanan hilir saat item tertentu berubah

Global Tables DynamoDB: Apa dan Mengapa

Global Tables DynamoDB menyediakan replikasi multiwilayah dan multiaktif yang dikelola sepenuhnya. Setiap Region mendapatkan salinan lengkap tabel, dan semua salinan dapat ditulisi secara bersamaan. Penulisan di Region mana pun direplikasi secara asinkron ke semua Region lain dalam waktu sekitar 1 detik.

Global Tables mendukung dua skenario penting: pembacaan dan penulisan berlatensi rendah bagi pengguna yang tersebar di seluruh dunia (setiap pengguna menulis ke dan membaca dari Region terdekat), serta pemulihan bencana multiwilayah aktif-aktif (aplikasi tetap berjalan di Region mana pun yang masih tersedia tanpa kehilangan data setelah replikasi terakhir).

Membuat Global Tables

Untuk membuat Global Table, pertama-tama buat tabel dengan DynamoDB Stream yang diaktifkan (NEW_AND_OLD_IMAGES diperlukan secara internal untuk Global Tables). Kemudian tambahkan Region replika. AWS membuat tabel replika di setiap Region yang ditambahkan dan mulai menyinkronkan data secara dua arah.

Global Tables (Versi 2019.11.21) merupakan standar saat ini dan mendukung kapasitas Sesuai Permintaan atau Tersedia dengan penskalaan otomatis. Setiap replika Region harus memiliki nama tabel yang sama. Anda dapat menambahkan atau menghapus Region dari Global Table kapan saja.

# Create a global table replica in eu-west-1
aws dynamodb create-global-table \
  --global-table-name GlobalOrders \
  --replication-group RegionName=us-east-1 RegionName=eu-west-1

Penyelesaian Konflik dalam Global Tables

Karena Global Tables memungkinkan penulisan di beberapa Region secara bersamaan, konflik penulisan dapat terjadi jika dua Region memperbarui item yang sama pada waktu yang hampir bersamaan. DynamoDB menyelesaikan konflik menggunakan pendekatan penulis terakhir menang berdasarkan stempel waktu yang tersimpan dalam catatan stream.

Dalam praktiknya, dua pembaruan yang bertentangan dan hampir bersamaan akan menghasilkan satu pembaruan yang menang dan satu pembaruan yang ditimpa. Aplikasi sebaiknya dirancang untuk menghindari penulisan bersamaan pada item yang sama dari Region berbeda. Untuk kasus penggunaan yang sering mengalami konflik, pertimbangkan untuk mengarahkan semua penulisan bagi pengguna atau entitas tertentu ke satu Region asal.

Global Tables dan Pertimbangan Kapasitas

Dengan Global Tables, penulisan di satu Region secara otomatis direplikasi ke semua Region lain. Setiap penulisan yang direplikasi menggunakan WCU di Region tujuan—jika Anda memiliki 3 Region, satu penulisan memerlukan sekitar 3× WCU di seluruh Region. Rencanakan kapasitas dengan tepat.

Pembacaan di setiap Region menggunakan RCU replika lokal. Pembacaan yang konsisten akhirnya (bawaan) menggunakan data lokal, sedangkan pembacaan yang konsisten kuat tidak didukung lintas Region. Untuk sebagian besar aplikasi global, konsistensi akhirnya dalam waktu sekitar 1 detik antar-Region sudah dapat diterima.

Global Tables dan Replika Baca Lintas Wilayah (RDS)

Perbedaan penting dalam ujian SAA-C03: Global Tables DynamoDB bersifat multiaktif (semua Region menerima pembacaan DAN penulisan), sedangkan Replika Baca lintas wilayah RDS bersifat hanya-baca (Anda hanya dapat mempromosikan replika agar dapat ditulisi, sehingga replikasi terputus).

Gunakan Global Tables DynamoDB jika Anda memerlukan: penulisan aktif-aktif multiwilayah, akses global di bawah 100 md, atau DR multiwilayah tanpa RPO untuk data NoSQL. Gunakan replika lintas wilayah RDS jika Anda memerlukan: skalabilitas pembacaan global untuk basis data relasional, atau siaga DR hangat yang dapat dipromosikan saat terjadi pengalihan.

Pola Arsitektur Stream + Lambda

Pola arsitektur umum yang menggabungkan Stream dan Lambda:

  • Penyebaran: Lambda membaca stream dan menerbitkannya ke SNS, yang menyebarkannya ke beberapa antrean SQS untuk konsumen independen
  • Agregasi: Lambda mengakumulasi perubahan dan memperbarui total agregat dalam tabel DynamoDB terpisah (misalnya, jumlah pesanan harian)
  • Tembolok tulis-belakang: pada setiap peristiwa stream, Lambda memperbarui ElastiCache agar pembacaan dapat dilayani dari tembolok
  • Notifikasi: stream memicu Lambda yang mengirim email SES atau notifikasi push SNS saat kondisi tertentu berubah

Integrasi DynamoDB Kinesis Data Streams

Sebagai alternatif untuk DynamoDB Streams, Anda dapat mengarahkan perubahan pada tingkat item ke Amazon Kinesis Data Stream. Hal ini berguna ketika Anda memerlukan retensi yang lebih lama (hingga 1 tahun dibandingkan 24 jam untuk DynamoDB Streams bawaan), lebih banyak konsumen, atau integrasi dengan layanan yang membaca dari Kinesis.

Integrasi Kinesis Data Streams diaktifkan untuk setiap tabel dan tidak menggantikan DynamoDB Streams—keduanya dapat diaktifkan secara bersamaan. Fitur yang lebih baru (2021) ini memperluas pipeline peristiwa perubahan DynamoDB tanpa memerlukan logika replikasi khusus.

# Enable Kinesis Data Streams for a DynamoDB table
aws dynamodb enable-kinesis-streaming-destination \
  --table-name Orders \
  --stream-arn arn:aws:kinesis:us-east-1:123456789:stream/ddb-changes

Pemeriksaan Singkat

Uji pemahaman Anda tentang konsep AWS Solutions Architect (SAA-C03) dari pelajaran ini.

Ringkasan Pelajaran

Dalam pelajaran ini Anda telah mempelajari bahwa: DynamoDB Streams menangkap perubahan pada tingkat item selama 24 jam dan terintegrasi dengan Lambda untuk pemrosesan berbasis peristiwa, Global Tables menyediakan replikasi multi-aktif lintas multi-Region dengan penyelesaian konflik berdasarkan penulis terakhir, dan integrasi Kinesis Data Streams memperpanjang retensi melampaui jendela aliran 24 jam. Selanjutnya, kita akan mempelajari zona hosted Route 53 dan jenis data DNS.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Aliran DynamoDB dan Tabel Global” gratis?

Ya — teks lengkap “Aliran DynamoDB dan Tabel Global” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cloud & IT Cert Prep, upgrade ke CoddyKit PRO. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Aliran DynamoDB dan Tabel Global”?

Proses perubahan tingkat item secara waktu nyata dengan Streams dan replikasi data lintas-Region menggunakan tabel global untuk pembacaan berlatensi rendah di seluruh dunia. Kamu berlatih Cloud & IT Cert Prep dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Cloud & IT Cert Prep?

Tidak diperlukan pengalaman sebelumnya. Cloud & IT Cert Prep di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Aliran DynamoDB dan Tabel Global” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Cloud & IT Cert Prep ini?

Ya. Setiap pelajaran Cloud & IT Cert Prep menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Tabel, Item, dan Kunci Utama
  2. Kapasitas Terprovisi vs Sesuai Permintaan
  3. Indeks Sekunder Global dan Indeks Sekunder Lokal
  4. Aliran DynamoDB dan Tabel Global
← Kembali ke Cloud & IT Cert Prep