Konsep dan fitur utama

Perilaku dan kasus penggunaan

Datastream memungkinkan Anda menyerap data sumber dari sistem pengelolaan database relasional (RDBMS) dan sumber lainnya ke tujuan seperti BigQuery, tabel Apache Iceberg, dan Cloud Storage secara hampir real time. Hal ini memungkinkan kasus penggunaan downstream seperti memuat data ke BigQuery untuk data warehousing dan analisis, atau menjalankan tugas Apache Spark atas data untuk workload kecerdasan buatan dan machine learning.

Konsep

Bagian ini menjelaskan konsep utama yang perlu Anda pahami untuk menggunakan Datastream secara efektif.

Pengambilan data perubahan

Pengambilan data perubahan (CDC) adalah sekumpulan pola desain software yang digunakan untuk menentukan dan melacak data yang diubah sehingga aplikasi dapat memproses update. CDC juga merupakan pendekatan untuk integrasi data yang didasarkan pada identifikasi, pengambilan, dan pengiriman perubahan yang dilakukan pada sumber data perusahaan.

Sumber peristiwa

Pola desain sumber peristiwa menangkap setiap perubahan pada status aplikasi dalam objek peristiwa. Dengan menggunakan sumber peristiwa, aplikasi dapat membangun kembali statusnya, melakukan pemulihan point-in-time (dengan memproses peristiwa hingga titik tersebut), menghitung ulang status saat logika bisnis berubah, atau mengaktifkan arsitektur Command Query Responsibility Segregation (CQRS). Dengan evolusi alat untuk pemrosesan peristiwa real-time, banyak aplikasi menggunakan model sumber peristiwa. Database transaksional pada dasarnya berorientasi peristiwa untuk memenuhi atomicity, consistency, isolation, dan durability (ACID) persyaratan.

Database transaksional

Dalam database transaksional, kumpulan operasi yang dilakukan database biasanya ditulis ke write-ahead log (WAL) sebelum operasi apa pun dijalankan di mesin penyimpanan. Setelah operasi dijalankan di mesin penyimpanan dan diterapkan ke WAL, operasi tersebut dianggap berhasil. Penggunaan WAL memungkinkan atomicity dan durability, serta memungkinkan replikasi database dengan fidelitas tinggi. Beberapa database menulis ke log operasi persis yang terjadi di tingkat penyimpanan (misalnya, write 0x41 at location 20), sehingga tindakan tersebut hanya dapat direplikasi pada mesin penyimpanan yang sama. Database lain mencatat pernyataan logis (atau baris) lengkap yang dapat dijalankan kembali pada mesin penyimpanan yang berbeda.

Peristiwa dan feed

Datastream menyerap data dalam volume besar secara hampir real time dari berbagai sumber dan menyediakan data untuk digunakan di tujuan. Unit data yang disimpan oleh Datastream adalah peristiwa. Feed mewakili penyerapan peristiwa yang berkelanjutan dari sumber dan menuliskannya ke tujuan.

Jenis terpadu

Sumber data memiliki jenis datanya sendiri—beberapa khusus untuk database itu sendiri, dan yang lainnya bersifat generik dan dibagikan di seluruh database. Karena beberapa sumber menghasilkan feed ke tujuan terpadu, representasi standar dari jenis sumber asli diperlukan di semua sumber. Jenis terpadu jenis adalah representasi jenis data yang umum dan tanpa kehilangan di semua sumber sehingga data dapat digunakan secara kohesif. Jenis terpadu yang didukung oleh Datastream mewakili superset dari semua jenis yang dinormalisasi di seluruh sistem sumber yang didukung.

Konteks entity

Datastream memiliki lima entity:

  • Konfigurasi konektivitas pribadi memungkinkan Datastream berkomunikasi dengan sumber data melalui koneksi jaringan pribadi yang aman. Komunikasi ini terjadi melalui peering Virtual Private Cloud (VPC).
  • Profil koneksi mewakili informasi konektivitas untuk database sumber atau tujuan tertentu.
  • Feed mewakili pasangan profil koneksi sumber dan tujuan, beserta setelan khusus feed.
  • Objek mewakili sebagian feed. Misalnya, feed database memiliki objek data untuk setiap tabel yang di-streaming.
  • Peristiwa mewakili setiap perubahan bahasa pengolahan data (DML) untuk objek tertentu.

Setelah Anda membuat konfigurasi konektivitas pribadi, Anda dapat terhubung ke sumber yang dihosting di Google Cloud atau di tempat lain melalui saluran komunikasi pribadi. Konektivitas pribadi bersifat opsional. Datastream juga mendukung mode konektivitas lainnya melalui jaringan publik.

Setelah Anda membuat koneksi profil untuk sumber dan tujuan, Anda dapat membuat feed yang menggunakan informasi yang disimpan dalam profil koneksi untuk mentransfer data dari sumber ke tujuan.

Setelah Anda membuat feed, Datastream akan terhubung langsung ke sumber, menggunakan konten, lalu memproses dan menulis peristiwa ke tujuan berdasarkan struktur peristiwa.

Anda dapat mengelola konfigurasi konektivitas pribadi dan profil koneksi secara terpisah dari feed untuk digunakan kembali.

Fitur

Fitur Datastream mencakup:

  • Tanpa server: Konfigurasi feed dan data mulai dipindahkan. Tidak ada overhead instalasi, alokasi resource, atau pemeliharaan. Saat volume data berubah, kemampuan penskalaan otomatis Datastream akan otomatis mengalokasikan resource agar data tetap bergerak secara hampir real time.
  • Skema jenis berbasis Avro terpadu: Datastream memungkinkan pemrosesan yang independen dari sumber dengan mengonversi semua jenis data khusus sumber ke skema jenis Datastream terpadu, berdasarkan jenis Avro.
  • Streaming data historis dan CDC: Datastream melakukan streaming data sumber historis dan CDC secara bersamaan secara hampir real time.
  • Oracle CDC tanpa lisensi tambahan: Datastream menyediakan streaming CDC berbasis LogMiner dari versi sumber Oracle 11.2 dan yang lebih baru, tanpa memerlukan lisensi tambahan atau instalasi software.
  • Tujuan BigQuery: Perubahan pada sumber direplikasi secara berkelanjutan ke tabel BigQuery secara hampir real time. Data di BigQuery tersedia untuk analisis dengan penundaan minimal.
  • Tujuan Cloud Storage: Data CDC ditulis secara berkelanjutan ke file Avro atau JSON yang menjelaskan sendiri di Cloud Storage. Data ini tersedia untuk pemrosesan tambahan, baik langsung di tempat atau dengan memuat downstream ke tujuan lain seperti Spanner.
  • Pengelolaan metadata terpusat dengan Knowledge Catalog: Resource Datastream, seperti feed, profil koneksi, dan konfigurasi konektivitas, otomatis disinkronkan dengan Knowledge Catalog. Hal ini memungkinkan Anda menelusuri dan menjelajahi aset ini langsung di antarmuka pengguna Knowledge Catalog.

Kasus penggunaan

Ada tiga skenario utama untuk menggunakan Datastream:

  • Integrasi data: Feed data dari database dan layanan cloud software as a service (SaaS) dapat memberi data ke pipeline integrasi data yang hampir real time dengan memuat data ke BigQuery.
  • Analisis streaming: Perubahan dalam database diserap ke dalam pipeline streaming yang menggunakan Dataflow untuk deteksi penipuan, pemrosesan peristiwa keamanan, dan deteksi anomali.
  • Ketersediaan perubahan data yang hampir real time: Ketersediaan perubahan data yang hampir real time mendukung aplikasi kecerdasan buatan dan machine learning untuk mencegah churn atau meningkatkan engagement melalui kampanye pemasaran atau dengan mengirimkan data kembali ke sistem produksi.

Ringkasan perilaku

Datastream memungkinkan Anda melakukan streaming perubahan yang sedang berlangsung dari beberapa sumber data langsung ke Google Cloud.

Sumber

  • Sebelum menggunakan sumber dengan Datastream, Anda harus mengonfigurasi autentikasi dan opsi sumber tambahan.
  • Setiap sumber menghasilkan peristiwa yang mencerminkan semua perubahan bahasa pengolahan data (DML).
  • Setiap feed dapat mengisi ulang data historis dan melakukan streaming perubahan yang sedang berlangsung ke tujuan.

Tujuan

Datastream mendukung BigQuery, tabel Apache Iceberg, dan Cloud Storage sebagai tujuan. Saat membuat feed, Anda menentukan konfigurasi tujuannya.

Pengiriman peristiwa

  • Urutan peristiwa tidak dijamin. Metadata peristiwa mencakup informasi yang dapat digunakan untuk mengurutkan peristiwa.
  • Pengiriman peristiwa terjadi setidaknya sekali. Metadata peristiwa mencakup data yang dapat digunakan untuk menghapus data duplikat di tujuan.
  • Ukuran peristiwa dibatasi hingga 20 MB per peristiwa untuk tujuan BigQuery dan 100 MB per peristiwa untuk tujuan Cloud Storage.

Untuk mempelajari peristiwa lebih lanjut, lihat Peristiwa dan feed.

Ketersediaan tinggi dan pemulihan dari bencana (disaster recovery)

Datastream menyediakan ketersediaan tinggi di seluruh zona dan mengelola pemulihan dari bencana selama pemadaman layanan regional:

  • Ketersediaan tinggi: Datastream adalah layanan regional, yang berjalan di beberapa zona di setiap region. Kegagalan satu zona di salah satu region tidak memengaruhi ketersediaan atau kualitas layanan di zona lain.

  • Pemulihan dari bencana: Jika terjadi kegagalan di suatu region, semua feed yang berjalan di region tersebut tidak akan tersedia selama pemadaman layanan. Setelah pemadaman layanan diselesaikan, Datastream akan melanjutkan dari tempatnya berhenti, dan data apa pun yang belum ditulis ke tujuan akan diambil lagi dari sumber. Dalam hal ini, data duplikat mungkin ada di tujuan. Untuk mengetahui informasi tentang cara menghapus data duplikat, lihat Pengiriman peristiwa.

Data awal dan data CDC

Karena sumber data memiliki data yang ada sebelum sumber terhubung ke feed (data historis), Datastream menghasilkan peristiwa dari data historis dan dari perubahan data yang terjadi secara real time.

Untuk memastikan akses data yang cepat, data historis dan perubahan data real-time direplikasi secara bersamaan ke tujuan. Metadata peristiwa menunjukkan apakah peristiwa berasal dari pengisian ulang atau dari CDC.

Langkah berikutnya