View a markdown version of this page

Ubah aliran pengambilan data (Pratinjau) - Amazon Aurora DSQL

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

Ubah aliran pengambilan data (Pratinjau)

penting

Fitur ini disediakan sebagai AWS Pratinjau dan dapat berubah sewaktu-waktu. Untuk informasi selengkapnya, lihat bagian 2, Beta dan Pratinjau, di Ketentuan AWS Layanan. Untuk mempelajari lebih lanjut tentang harga untuk aliran CDC, lihat halaman harga Aurora DSQL.

Sebelum ketersediaan umum, kami akan menambahkan jenis operasi baru ("op": "u"untuk pembaruan) ke muatan aliran Anda. Untuk memastikan aplikasi Anda menangani perubahan ini tanpa modifikasi, perlakukan op nilai yang tidak dikenal sebagai peningkatan dengan menerapkan payload. after Lihat Memahami catatan CDC untuk detail.

Amazon Aurora DSQL mengubah data capture (CDC) mengalirkan perubahan database yang dilakukan dalam waktu dekat langsung ke Amazon Kinesis Data Streams. Aurora DSQL memberikan setiap perubahan tingkat baris yang berkomitmen sebagai catatan JSON terstruktur ke aliran data Kinesis yang Anda konfigurasikan.

CDC berguna ketika Anda ingin:

  • Jaga agar sistem hilir tetap sinkron — Mereplikasi perubahan pada indeks pencarian, cache, gudang data, atau sistem analitik tanpa pekerjaan batch.

  • Membangun arsitektur berbasis peristiwa — Memicu alur kerja, pemberitahuan, atau tindakan layanan mikro sebagai respons terhadap perubahan database.

  • Pertahankan jejak audit — Tangkap setiap perubahan yang dilakukan untuk kepatuhan, debugging, atau analisis historis.

  • Memisahkan produsen dari konsumen — Biarkan database fokus pada transaksi sementara sistem hilir memproses perubahan dengan kecepatan mereka sendiri.

Cara kerjanya

Aurora DSQL membaca transaksi yang berkomitmen, memformat setiap perubahan baris sebagai catatan JSON terstruktur, dan mengirimkannya ke aliran data Kinesis yang Anda konfigurasikan. CDC secara otomatis menangkap setiapINSERT,UPDATE, dan DELETE di semua tabel pengguna di cluster. Terapkan logika pemfilteran di aplikasi hilir Anda dengan menggunakan source.schema dan source.table bidang di setiap rekaman CDC untuk fokus pada tabel atau mengubah kebutuhan aplikasi Anda.

Aliran CDC sepenuhnya dikelola. Aurora DSQL mengelola semua infrastruktur yang diperlukan untuk menangkap peristiwa perubahan, memantau kesehatan aliran, dan melaporkan status melalui operasi dan metrik GetStream API. CloudWatch

Aliran CDC menggunakan model bring-your-own-target. Anda membuat dan mengelola aliran data Kinesis di akun Anda, dan Aurora DSQL mengasumsikan peran IAM yang Anda konfigurasikan untuk menulis catatan CDC atas nama Anda. Anda bertanggung jawab atas kapasitas target, enkripsi, dan pengaturan retensi. Untuk target terbaru yang didukung, lihat TargetDefinition parameter CreateStreamdi Referensi API DSQL Amazon Aurora. Untuk daftar lengkap operasi API aliran CDC, lihat Referensi API DSQL Amazon Aurora.

Topik di halaman ini

Pemesanan dan pengiriman semantik

Jaminan pengiriman

Aurora DSQL CDC menjamin bahwa setiap perubahan yang dilakukan mencapai target setidaknya satu kali. Aurora DSQL dapat memberikan catatan lebih dari satu kali. Rancang aplikasi Anda untuk menangani duplikat. Anda dapat mengidentifikasi duplikat dengan membandingkan source.ts_ns dan nilai kunci primer — duplikat memiliki nilai yang sama dengan pengiriman asli.

Memesan

Streaming CDC menggunakan UNORDERED mode. Dalam praktiknya, catatan tiba dalam perkiraan urutan komit karena Aurora DSQL membaca dan menerbitkan perubahan secara berurutan. Namun, Aurora DSQL tidak menjamin pemesanan yang ketat. Secara khusus:

  • Aurora DSQL dapat mengirimkan catatan dari transaksi yang berbeda dalam urutan apa pun.

  • Catatan untuk kunci utama yang sama dari transaksi yang berbeda dapat keluar dari perintah komit.

  • Catatan dari satu transaksi dapat menyatu dengan catatan dari transaksi lain. Gunakan source.txId bidang untuk mengelompokkan catatan berdasarkan transaksi saat alur kerja Anda membutuhkannya.

Setiap catatan CDC menyertakan source.ts_ns bidang yang berisi stempel waktu komit transaksi dalam nanodetik. Gunakan bidang ini untuk membuat perintah komit di sisi penerima.

Strategi konsumen

Karena catatan dapat keluar dari perintah komit dan dapat muncul lebih dari satu kali, aplikasi Anda harus memperhitungkan kedua kondisi tersebut.

penting

Tentukan kunci utama pada semua tabel yang berpartisipasi dalam CDC. Tanpa kunci utama, aplikasi Anda tidak dapat menghapus duplikasi catatan atau menghubungkan penghapusan dengan baris yang terpengaruh.

Last-writer-wins (tampilan terwujud, cache)

Lacak source.ts_ns nilai tertinggi per kunci primer. Buang catatan apa pun dengan nilai source.ts_ns kurang dari atau sama dengan nilai yang dilacak. Ini menyaring duplikat dan catatan di luar pesanan, menjaga status terbaru untuk setiap kunci. Saat Anda memproses delete (op: "d"), simpan batu nisan untuk kunci utama yang mempertahankan source.ts_ns nilai alih-alih menghapus entri. Batu nisan memastikan bahwa sisipan atau pembaruan dengan yang lebih awal source.ts_ns yang tiba setelah penghapusan tidak salah mengembalikan baris.

Every-change pemrosesan (pencatatan audit, sumber acara)

Hapus duplikat dengan membandingkan source.ts_ns dikombinasikan dengan nilai kunci primer. Buffer catatan yang masuk dan urutkan berdasarkan source.ts_ns sebelum diproses untuk merekonstruksi perintah komit.

Multi-Region Konfigurasi aliran CDC

Aliran CDC adalah sumber daya regional. Setiap aliran milik satu AWS Wilayah dan memberikan perubahan pada aliran data Kinesis di Wilayah yang sama. Pada klaster Multi-wilayah, aliran CDC di salah satu Wilayah menangkap tulisan yang berkomitmen dari semua Wilayah di cluster. Ini berarti Anda hanya perlu satu aliran untuk menangkap setiap perubahan, terlepas dari mana penulisan itu berasal. Untuk mengirimkan catatan CDC di lebih dari satu Wilayah, buat aliran terpisah di setiap Wilayah. Setiap aliran secara independen menangkap set lengkap perubahan komited di seluruh cluster.

Semua sumber daya—cluster Aurora DSQL, aliran data Kinesis, peran layanan IAM, dan prinsip pemanggilan—harus berada di akun dan Wilayah yang sama. AWS

Memproses catatan CDC di hilir

Setelah data CDC tiba di aliran data Kinesis Anda, Anda dapat memprosesnya secara langsung atau meruteknya ke tujuan lain dengan AWS menggunakan layanan integrasi. Tabel berikut merangkum pola pemrosesan umum.

Pola pemrosesan umum untuk catatan CDC
Pola Cara kerjanya
Konsumsi langsung Membaca catatan dari Kinesis dengan menggunakan Amazon Kinesis Client Library (KCL), SDK, AWS atau konsumen Kinesis Data Streams. Lihat Mengembangkan konsumen KCL di Panduan Pengembang Amazon Kinesis Data Streams.
AWS Lambda Konfigurasikan fungsi Lambda sebagai sumber peristiwa untuk aliran data Kinesis Anda untuk memproses setiap kumpulan catatan CDC saat data tersebut tiba. Lihat Menggunakan AWS Lambda dengan Amazon Kinesis di Panduan Pengembang AWS Lambda.
Amazon Data Firehose Kirimkan data CDC dari Kinesis ke Amazon S3, Amazon Redshift, Amazon Service OpenSearch, atau tujuan lain untuk analitik dan arsip. Lihat Mengirim data ke aliran pengiriman di Panduan Pengembang Amazon Data Firehose.
Self-managed konsumen Jalankan Apache Kafka Connect dengan konektor sumber Kinesis, Apache Flink, atau kerangka kerja pemrosesan aliran lainnya untuk mengubah dan merutekan catatan. Untuk mengaktifkan Apache Flink AWS, lihat Mengonfigurasi input aplikasi di Amazon Managed Service for Apache Flink Developer Guide.

Setiap catatan CDC menyertakan bidang-bidang sepertisource.schema,source.table, dan op yang dapat Anda gunakan untuk merutekan dan memfilter catatan dalam logika pemrosesan Anda. Untuk skema rekaman lengkap, lihatMemahami catatan CDC.