Konsep dan fitur utama

Perilaku dan kasus penggunaan

Datastream memberi pengguna kemampuan untuk membawa data sumber dari Sistem Pengelolaan Database Relasional (RDBMS) dan sumber lainnya ke tujuan seperti BigQuery, tabel Iceberg BigLake, dan Cloud Storage hampir secara real-time. Hal ini memungkinkan kasus penggunaan hilir seperti memuat data ke BigQuery untuk data warehousing dan analisis, atau menjalankan tugas Spark pada data untuk kasus penggunaan 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 serangkaian pola desain software yang digunakan untuk menentukan (dan melacak) data yang telah berubah sehingga tindakan dapat diambil menggunakan data yang berubah. CDC juga merupakan pendekatan untuk integrasi data yang didasarkan pada identifikasi, pengambilan, dan pengiriman perubahan yang dilakukan pada sumber data perusahaan.

Pencatatan peristiwa

Diperkenalkan pada tahun 2005, event sourcing adalah pola desain yang mencatat setiap perubahan pada status aplikasi dalam objek peristiwa. Dengan memanfaatkan sumber peristiwa, aplikasi dapat membangun kembali statusnya, melakukan pemulihan pada titik waktu tertentu (dengan memproses peristiwa hingga titik tersebut), menghitung ulang status jika ada perubahan logika, atau mengaktifkan desain Command Query Responsibility Segregation (CQRS). Dengan evolusi alat untuk pemrosesan peristiwa real-time, banyak aplikasi beralih ke model sumber peristiwa. Secara historis, database transaksional selalu berorientasi pada peristiwa, karena persyaratan atomicity, konsistensi, isolasi, dan ketahanan (ACID).

Database transaksional

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

Peristiwa dan feed

Datastream menyerap banyak data hampir secara real-time dari berbagai sumber, dan menyediakan data untuk digunakan di tujuan. Unit data yang disimpan oleh Datastream adalah peristiwa. Aliran data mewakili penyerapan peristiwa berkelanjutan dari sumber dan penulisan peristiwa tersebut ke tujuan.

Jenis terpadu

Sumber data memiliki jenisnya sendiri, beberapa khusus untuk database itu sendiri, dan beberapa bersifat generik serta dibagikan di seluruh database. Karena ada banyak sumber berbeda yang menghasilkan aliran ke tujuan terpadu, harus ada cara terpadu dan standar untuk merepresentasikan jenis sumber asli di semua sumber. Jenis gabungan adalah cara umum dan tanpa kehilangan data untuk merepresentasikan jenis data di semua sumber sehingga dapat digunakan secara kohesif. Jenis terpadu yang didukung oleh Datastream akan merepresentasikan superset dari semua jenis yang dinormalisasi di semua sistem sumber yang didukung sehingga semua jenis dapat didukung tanpa kehilangan data.

Konteks entitas

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 menunjukkan informasi konektivitas ke database sumber atau tujuan tertentu.
  • Aliran data merepresentasikan pasangan profil koneksi sumber dan tujuan, beserta setelan khusus aliran data.
  • Objek mewakili subbagian aliran. Misalnya, aliran database memiliki objek data untuk setiap tabel yang di-streaming.
  • Peristiwa merepresentasikan setiap perubahan bahasa manipulasi data (DML) untuk objek tertentu.

Setelah 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 lain melalui jaringan publik.

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

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

Konfigurasi konektivitas pribadi dan profil koneksi dapat dikelola secara terpisah dari aliran data untuk digunakan kembali.

Fitur

Fitur untuk Datastream meliputi:

  • Tanpa server: Anda dapat mengonfigurasi aliran dan data mulai dipindahkan. Tidak ada biaya tambahan untuk penginstalan, alokasi resource, atau pemeliharaan. Seiring bertambah dan berkurangnya volume data, kemampuan penskalaan otomatis Datastream mengalokasikan resource untuk menjaga agar data tetap bergerak mendekati real-time, secara otomatis.
  • Skema jenis berbasis Avro terpadu: Datastream memungkinkan pemrosesan yang tidak bergantung pada sumber dengan mengonversi semua jenis data khusus sumber menjadi skema jenis Datastream terpadu, berdasarkan jenis Avro.
  • Streaming data historis dan CDC: Datastream melakukan streaming data sumber historis dan CDC secara bersamaan dalam waktu yang mendekati real-time.
  • CDC Oracle tanpa lisensi tambahan: Datastream menyediakan streaming CDC berbasis LogMiner dari semua versi sumber Oracle 11.2g dan yang lebih baru, tanpa perlu membayar lisensi tambahan atau penginstalan software.

  • Tujuan BigQuery: Perubahan pada sumber direplikasi secara terus-menerus ke tabel BigQuery nyaris secara real-time. Data di BigQuery hampir langsung tersedia untuk analisis.

  • Tujuan Cloud Storage: Data CDC ditulis ke file Avro atau JSON yang menjelaskan sendiri di Cloud Storage secara terus-menerus. Informasi ini dapat digunakan untuk pemrosesan tambahan, baik secara langsung di tempat atau dengan memuat ke hilir ke tujuan lain seperti Spanner.

Kasus penggunaan

Ada tiga skenario utama untuk menggunakan Datastream:

  • Integrasi data: Aliran data dari database dan layanan cloud Software-as-a-Service (SaaS) dapat menyediakan pipeline integrasi data yang mendekati real-time dengan memuat data ke BigQuery.
  • Analisis streaming: Perubahan dalam database diserap ke dalam pipeline streaming seperti dengan Dataflow untuk deteksi penipuan, pemrosesan peristiwa keamanan, dan deteksi anomali.
  • Ketersediaan perubahan data mendekati real-time: Ketersediaan perubahan data mendekati real-time memungkinkan aplikasi kecerdasan buatan dan machine learning mencegah churn atau meningkatkan engagement menggunakan upaya pemasaran atau dengan memberikan masukan ke sistem produksi.

Ringkasan perilaku

Datastream memungkinkan pelanggan men-streaming perubahan yang sedang berlangsung dari beberapa sumber data langsung ke Google Cloud.

Sumber

  • Ada pekerjaan penyiapan yang diperlukan agar sumber dapat digunakan dengan Datastream, termasuk autentikasi dan opsi konfigurasi tambahan.
  • Setiap sumber menghasilkan peristiwa yang mencerminkan semua perubahan bahasa manipulasi data (DML).
  • Setiap aliran dapat mengisi ulang data historis, serta mengalirkan perubahan berkelanjutan ke tujuan.

Tujuan

Datastream mendukung BigQuery dan Cloud Storage sebagai tujuan. Saat aliran dibuat, set data BigQuery atau bucket Cloud Storage yang dipilih akan ditentukan.

Pengiriman acara

  • Urutan acara tidak dijamin. Metadata peristiwa mencakup informasi yang dapat digunakan untuk mengurutkan peristiwa.
  • Pengiriman peristiwa terjadi setidaknya satu kali. 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 aliran data.

Ketersediaan tinggi dan pemulihan dari bencana (disaster recovery)

Bagian ini berisi informasi tentang cara Datastream menangani skenario yang terkait dengan ketersediaan tinggi dan pemulihan dari bencana (disaster recovery).

  • 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 aliran data yang berjalan di region tersebut akan berhenti selama pemadaman layanan. Setelah gangguan teratasi, Datastream akan melanjutkan tepat dari tempat ia berhenti, dan data apa pun yang belum ditulis ke tujuan akan diambil lagi dari sumber. Dalam hal ini, duplikat data mungkin berada di tujuan. Lihat Pengiriman peristiwa untuk mengetahui informasi selengkapnya tentang cara menghapus data duplikat.

Data awal dan data CDC

Karena sumber data memiliki data yang ada sebelum sumber terhubung ke aliran (data historis), Datastream menghasilkan peristiwa dari data historis dan 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 tersebut berasal dari pengisian ulang atau dari CDC.

Langkah berikutnya