Menggunakan Kinesis Data Streams untuk menangkap perubahan pada DynamoDB - Amazon DynamoDB

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan Kinesis Data Streams untuk menangkap perubahan pada DynamoDB

Gunakan Amazon Kinesis Data Streams untuk menangkap perubahan pada Amazon DynamoDB.

Kinesis Data Streams menangkap modifikasi tingkat item di tabel DynamoDB apa pun dan mereplikasikannya ke Kinesis data stream. Aplikasi Anda dapat mengakses stream ini dan melihat perubahan tingkat item dalam hampir waktu nyata. Anda dapat terus menangkap dan menyimpan data berukuran terabyte per jam. Anda dapat memanfaatkan waktu retensi data yang lebih lama—dan dengan kemampuan fan-out yang ditingkatkan, Anda dapat menjangkau dua atau lebih aplikasi hilir secara bersamaan. Manfaat lainnya termasuk audit tambahan dan transparansi keamanan.

Kinesis Data Streams juga memberi Anda akses ke Amazon Data Firehose dan Amazon Managed Service untuk Apache Flink. Layanan ini dapat membantu Anda membangun aplikasi yang mendukung dasbor real-time, menghasilkan peringatan, menerapkan penetapan harga dan periklanan dinamis, serta menerapkan analitik data dan algoritma machine learning yang canggih.

catatan

Penggunaan Kinesis Data Streams untuk DynamoDB tunduk pada harga Kinesis Data Streams untuk aliran data dan harga DynamoDB untuk tabel sumber.

Cara kerja Kinesis Data Streams dengan DynamoDB

Ketika aliran data Kinesis diaktifkan untuk tabel DynamoDB, tabel mengirimkan rekaman data yang mencatat perubahan apa pun pada data tabel tersebut. Catatan data ini meliputi:

  • Waktu spesifik item mana pun baru saja dibuat, diperbarui, atau dihapus

  • Kunci utama item itu

  • Cuplikan catatan sebelum modifikasi

  • Cuplikan catatan setelah modifikasi

Catatan data ini diambil dan dipublikasikan hampir secara waktu nyata. Setelah ditulis ke aliran data Kinesis, data tersebut dapat dibaca seperti catatan lainnya. Anda dapat menggunakan Perpustakaan Klien Kinesis, menggunakan AWS Lambda, memanggil Kinesis Data API Streams, dan menggunakan layanan terhubung lainnya. Untuk informasi selengkapnya, lihat Membaca Data dari Amazon Kinesis Data Streams dalam Panduan Developer Amazon Kinesis Data Streams.

Perubahan pada data ini juga ditangkap secara asinkron. Kinesis tidak memiliki dampak kinerja pada tabel asal streamingnya. Catatan aliran yang disimpan dalam aliran data Kinesis Anda juga dienkripsi saat tidak digunakan. Untuk informasi selengkapnya, lihat Perlindungan Data di Amazon Kinesis Data Streams.

Catatan aliran data Kinesis mungkin muncul dalam urutan yang berbeda dari saat perubahan item terjadi. Notifikasi item yang sama mungkin juga muncul lebih dari satu kali di aliran. Anda dapat memeriksa ApproximateCreationDateTime atribut untuk mengidentifikasi urutan modifikasi item terjadi, dan untuk mengidentifikasi catatan duplikat.

Saat Anda mengaktifkan aliran data Kinesis sebagai tujuan streaming tabel DynamoDB, Anda dapat mengonfigurasi presisi ApproximateCreationDateTime nilai dalam milidetik atau mikrodetik. Secara default, ApproximateCreationDateTime menunjukkan waktu perubahan dalam milidetik. Selain itu, Anda dapat mengubah nilai ini di tujuan streaming aktif. Setelah pembaruan seperti itu, catatan aliran yang ditulis ke Kinesis akan memiliki ApproximateCreationDateTime nilai presisi yang diinginkan.

Nilai biner yang ditulis ke DynamoDB harus dikodekan dalam format berenkode base64 . Namun, ketika catatan data ditulis ke aliran data Kinesis, nilai biner yang dikodekan ini dikodekan dengan pengodean base64 untuk kedua kalinya. Saat membaca catatan ini dari aliran data Kinesis, untuk mengambil nilai biner mentah, aplikasi harus mendekode nilai ini dua kali.

DynamoDB mengenakan biaya untuk penggunaan Kinesis Data Streams dalam unit pengambilan data perubahan. Perubahan 1 KB per item dihitung sebagai satu unit pengambilan data perubahan. KB perubahan di setiap item dihitung berdasarkan gambar "sebelum" dan "sesudah" yang lebih besar dari item yang ditulis ke aliran, menggunakan logika yang sama dengan konsumsi unit kapasitas untuk operasi tulis. Mirip dengan bagaimana mode DynamoDB sesuai permintaan bekerja, Anda tidak perlu menyediakan throughput kapasitas untuk unit penangkapan data perubahan.

Mengaktifkan aliran data Kinesis untuk tabel DynamoDB Anda

Anda dapat mengaktifkan atau menonaktifkan streaming ke Kinesis dari tabel DynamoDB yang ada dengan menggunakan AWS Management Console, the AWS SDK, atau (). AWS Command Line Interface AWS CLI

  • Anda hanya dapat mengalirkan data dari DynamoDB ke Kinesis Data Streams di AWS akun dan Wilayah yang sama dengan tabel Anda. AWS

  • Anda hanya dapat melakukan streaming data dari tabel DynamoDB ke satu Kinesis data stream.

Membuat perubahan pada tujuan Kinesis Data Streams pada tabel DynamoDB

Secara default, semua catatan aliran data Kinesis menyertakan atributApproximateCreationDateTime. Atribut ini mewakili stempel waktu dalam milidetik dari perkiraan waktu ketika setiap rekaman dibuat. Anda dapat mengubah ketepatan nilai-nilai ini dengan menggunakan https://console.aws.amazon.com/kinesis, the SDK atau AWS CLI