Streaming data jurnal dari Amazon QLDB - Amazon Quantum Ledger Database (Amazon QLDB)

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

Streaming data jurnal dari Amazon QLDB

Amazon QLDB menggunakan log transaksional yang tidak dapat diubah, yang dikenal sebagai jurnal, untuk penyimpanan data. Jurnal melacak setiap perubahan pada data komitmen Anda dan mempertahankan riwayat perubahan yang lengkap dan dapat diverifikasi dari waktu ke waktu.

Anda dapat membuat aliran di QLDB yang menangkap setiap revisi dokumen yang berkomitmen pada jurnal Anda dan mengirimkan data ini ke Amazon Kinesis Data Streams secara nyaris real time. Aliran QLDB adalah aliran data yang berkelanjutan dari jurnal buku besar Anda ke sumber daya aliran data Kinesis.

Kemudian, Anda menggunakan platform streaming Kinesis atau Perpustakaan Klien Kinesis untuk menggunakan aliran Anda, memproses catatan data, dan menganalisis konten data. Aliran QLDB menulis data Anda ke Kinesis Data Streams dalam tiga jenis catatan: kontrol, ringkasan blok, dan detail revisi. Untuk informasi selengkapnya, lihat Catatan aliran QLDB dalam Kinesis.

Kasus penggunaan umum

Streaming memungkinkan Anda menggunakan QLDB sebagai sumber kebenaran tunggal yang dapat diverifikasi sambil mengintegrasikan data jurnal Anda dengan layanan lain. Berikut ini adalah beberapa kasus penggunaan umum yang didukung oleh aliran jurnal QLDB:

  • Arsitektur berbasis peristiwa — Bangun aplikasi dalam gaya arsitektur berbasis peristiwa dengan komponen terpisah. Misalnya, bank dapat menggunakan AWS Lambda fungsi untuk menerapkan sistem notifikasi yang memberi tahu pelanggan ketika saldo akun mereka turun di bawah ambang batas. Dalam sistem seperti itu, saldo akun dipertahankan dalam buku besar QLDB, dan setiap perubahan saldo dicatat dalam jurnal. AWS Lambda Fungsi ini dapat memicu logika notifikasi setelah mengkonsumsi peristiwa pembaruan saldo yang berkomitmen ke jurnal dan dikirim ke aliran data Kinesis.

  • Analitik real-time — Membangun aplikasi konsumen Kinesis yang menjalankan analisis real-time pada data peristiwa. Dengan kemampuan ini, Anda dapat memperoleh wawasan dalam waktu nyaris nyata dan merespons dengan cepat terhadap lingkungan bisnis yang berubah. Misalnya, situs web e-niaga dapat menganalisis data penjualan produk dan menghentikan iklan untuk produk diskon segera setelah penjualan mencapai batas.

  • Analisis historis — Manfaatkan arsitektur berorientasi jurnal Amazon QLDB dengan memutar ulang data peristiwa historis. Anda dapat memilih untuk memulai aliran QLDB pada setiap titik waktu di masa lalu, di mana semua revisi sejak saat itu dikirim ke Kinesis Data Streams. Dengan menggunakan fitur ini, Anda dapat membangun aplikasi konsumen Kinesis yang menjalankan pekerjaan analitik pada data historis. Misalnya, situs web e-niaga dapat menjalankan analitik sesuai kebutuhan untuk menghasilkan metrik penjualan sebelumnya yang sebelumnya tidak ditangkap.

  • Replikasi ke database yang dibuat khusus - Hubungkan buku besar QLDB ke penyimpanan data lain yang dibuat khusus menggunakan aliran jurnal QLDB. Misalnya, gunakan platform data streaming Kinesis untuk berintegrasi dengan Amazon OpenSearch Service, yang dapat menyediakan kemampuan pencarian teks lengkap untuk dokumen QLDB. Anda juga dapat membuat aplikasi konsumen Kinesis khusus untuk mereplikasi data jurnal Anda ke database lain yang dibuat khusus yang memberikan tampilan terwujud yang berbeda. Misalnya, replikasi ke Amazon Aurora untuk data relasional atau ke Amazon Neptunus untuk data berbasis grafik.

Mengkonsumsi streaming Anda

Gunakan Kinesis Data Streams untuk terus mengkonsumsi, memproses, dan menganalisis aliran besar catatan data. Selain Kinesis Data Streams, platform data streaming Kinesis mencakup Amazon Data Firehose dan Amazon Managed Service untuk Apache Flink. Anda dapat menggunakan platform ini untuk mengirim catatan data langsung ke layanan seperti Amazon OpenSearch Service, Amazon Redshift, Amazon S3, atau Splunk. Untuk informasi selengkapnya, lihat Konsumen Kinesis Data Streams di Panduan Pengembang Amazon Kinesis Data Streams.

Anda juga dapat menggunakan Kinesis Client Library (KCL) untuk membangun aplikasi konsumen streaming untuk memproses catatan data dengan cara khusus. KCL menyederhanakan pengodean dengan menyediakan abstraksi yang berguna di atas Kinesis Data Streams API tingkat rendah. Untuk mempelajari lebih lanjut tentang KCL, lihat Menggunakan Perpustakaan Klien Kinesis di Panduan Pengembang Amazon Kinesis Data Streams.

Jaminan pengiriman

Aliran QLDB memberikan jaminan pengiriman. at-least-once Setiap catatan data yang dihasilkan oleh aliran QLDB dikirim ke Kinesis Data Streams setidaknya sekali. Catatan yang sama dapat muncul dalam aliran data Kinesis beberapa kali. Jadi, Anda harus memiliki logika deduplikasi di lapisan aplikasi konsumen jika kasus penggunaan Anda memerlukannya.

Juga tidak ada jaminan pemesanan. Dalam beberapa keadaan, blok dan revisi QLDB dapat diproduksi dalam aliran data Kinesis yang rusak. Untuk informasi selengkapnya, lihat Menangani duplikat dan catatan out-of-order.

Pertimbangan latensi pengiriman

Aliran QLDB biasanya mengirimkan pembaruan ke Kinesis Data Streams dalam waktu nyaris nyata. Namun, skenario berikut mungkin menciptakan latensi tambahan sebelum data QLDB yang baru berkomitmen dipancarkan ke aliran data Kinesis:

  • Kinesis dapat membatasi data yang dialirkan dari QLDB, tergantung pada penyediaan Kinesis Data Streams Anda. Misalnya, ini mungkin terjadi jika Anda memiliki beberapa aliran QLDB yang menulis ke satu aliran data Kinesis, dan tingkat permintaan QLDB melebihi kapasitas sumber daya aliran Kinesis. Pelambatan pada Kinesis juga dapat terjadi saat menggunakan penyediaan sesuai permintaan jika throughput tumbuh lebih dari dua kali lipat puncak sebelumnya dalam waktu kurang dari 15 menit.

    Anda dapat mengukur throughput yang terlampaui ini dengan memantau metrik Kinesis. WriteProvisionedThroughputExceeded Untuk informasi selengkapnya dan solusi yang mungkin, lihat Bagaimana cara memecahkan masalah error throttling di Kinesis Data Streams? .

  • Dengan aliran QLDB, Anda dapat membuat aliran tidak terbatas dengan tanggal dan waktu mulai di masa lalu dan tanpa tanggal dan waktu akhir. Secara desain, QLDB mulai memancarkan data yang baru berkomitmen ke Kinesis Data Streams hanya setelah semua data sebelumnya dari tanggal dan waktu mulai yang ditentukan berhasil dikirim. Jika Anda merasakan latensi tambahan dalam skenario ini, Anda mungkin perlu menunggu data sebelumnya dikirimkan, atau Anda dapat memulai streaming dari tanggal dan waktu mulai nanti.

Memulai dengan aliran

Berikut ini adalah ikhtisar tingkat tinggi dari langkah-langkah yang diperlukan untuk memulai streaming data jurnal ke Kinesis Data Streams:

  1. Buat sumber daya Kinesis Data Streams. Untuk petunjuknya, lihat Membuat dan memperbarui aliran data di Panduan Pengembang Amazon Kinesis Data Streams.

  2. Buat peran IAM yang memungkinkan QLDB untuk mengasumsikan izin menulis untuk aliran data Kinesis. Untuk petunjuk, lihat Izin streaming di QLDB.

  3. Buat aliran jurnal QLDB. Untuk petunjuk, lihat Membuat dan mengelola aliran di QLDB.

  4. Konsumsi aliran data Kinesis, seperti yang dijelaskan di bagian sebelumnya. Mengkonsumsi streaming Anda Untuk contoh kode yang menunjukkan cara menggunakan Kinesis Client Library atau AWS Lambda, lihat. Berkembang dengan aliran di QLDB