Perilaku dan kasus penggunaan
Datastream memberi pengguna kemampuan untuk mengambil 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 menyediakan kasus penggunaan downstream 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 sekumpulan pola desain software yang digunakan untuk menentukan (dan melacak) data yang telah berubah sehingga tindakan dapat dilakukan menggunakan data yang diubah. CDC juga merupakan pendekatan untuk integrasi data yang didasarkan pada identifikasi, pengambilan, dan pengiriman perubahan yang dilakukan pada sumber data perusahaan.
Sumber peristiwa
Diperkenalkan pada tahun 2005, sumber peristiwa adalah pola desain yang setiap perubahan pada status aplikasi diambil 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 jika terjadi perubahan dalam 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 atomisitas, konsistensi, isolasi, dan ketahanan (ACID).
Database transaksional
Dalam database transaksional, kumpulan operasi yang akan dilakukan database biasanya ditulis ke write-ahead log (WAL) sebelum operasi apa pun dijalankan di mesin penyimpanan. Setelah operasi dijalankan di mesin penyimpanan dan di-commit ke WAL, operasi tersebut dianggap berhasil. Penggunaan WAL memungkinkan atomisitas dan ketahanan, 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 diulang) 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 aliran data
Datastream menyerap banyak data secara hampir 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 menuliskannya ke tujuan.
Jenis terpadu
Sumber data memiliki jenisnya sendiri, beberapa khusus untuk database itu sendiri, dan beberapa yang bersifat umum dan dibagikan di seluruh database. Karena ada banyak sumber berbeda yang menghasilkan aliran data ke tujuan terpadu, harus ada cara standar dan terpadu untuk merepresentasikan jenis sumber asli di semua sumber. Jenis terpadu 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 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 ke database sumber atau tujuan tertentu.
- Aliran data mewakili pasangan profil koneksi sumber dan tujuan, beserta setelan khusus aliran data.
- Objek mewakili sub-bagian dari aliran data. Misalnya, aliran data database memiliki objek data untuk setiap tabel yang di-streaming.
- Peristiwa mewakili 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 lainnya 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 data, 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 mencakup:
- Tanpa server: Anda dapat mengonfigurasi aliran data dan data akan mulai dipindahkan. Tidak ada overhead penginstalan, alokasi resource, atau pemeliharaan. Seiring pertumbuhan dan penyusutan volume data, kemampuan penskalaan otomatis Datastream mengalokasikan resource untuk menjaga data tetap bergerak secara otomatis dan hampir real-time.
- Skema jenis berbasis Avro terpadu: Datastream memungkinkan pemrosesan independen 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 hampir real-time, secara bersamaan.
Oracle CDC tanpa lisensi tambahan: Datastream menyediakan streaming CDC berbasis LogMiner dari versi sumber Oracle 11.2g dan yang lebih baru, tanpa perlu membayar lisensi tambahan atau penginstalan software.
Tujuan BigQuery: Perubahan pada sumber direplikasi secara berkelanjutan ke tabel BigQuery secara hampir 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 langsung di tempat atau dengan memuat downstream ke tujuan lain seperti Spanner.
Pengelolaan metadata terpusat dengan Knowledge Catalog: Resource Datastream, seperti aliran data, profil koneksi, dan konfigurasi konektivitas, disinkronkan secara otomatis 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: Aliran data dari database dan layanan cloud Software-as-a-Service (SaaS) dapat menyediakan pipeline integrasi data yang hampir 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 yang hampir real-time: Ketersediaan perubahan data yang hampir real-time mendukung aplikasi kecerdasan buatan dan machine learning untuk mencegah churn atau meningkatkan engagement menggunakan upaya pemasaran atau dengan memberikan masukan ke sistem produksi.
Ringkasan perilaku
Datastream memungkinkan pelanggan melakukan 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 data dapat mengisi ulang data historis, serta melakukan streaming perubahan yang sedang berlangsung ke tujuan.
Tujuan
Datastream mendukung BigQuery, tabel Apache Iceberg, dan Cloud Storage sebagai tujuan. Saat aliran data dibuat, konfigurasi tujuannya akan ditentukan.
Pengiriman peristiwa
- Urutan peristiwa tidak dijamin. Metadata peristiwa mencakup informasi yang dapat digunakan untuk mengurutkan peristiwa.
- Pengiriman peristiwa terjadi minimal 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 (disaster recovery): Jika terjadi kegagalan di suatu region, semua aliran data yang berjalan di region tersebut akan nonaktif selama durasi gangguan. Setelah gangguan teratasi, Datastream akan melanjutkan tepat di tempat terakhirnya, 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 waktu sumber terhubung ke aliran data (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
- Pelajari Datastream lebih lanjut.
- Pelajari tentang pemetaan jenis terpadu.
- Pelajari lebih lanjut sumber yang didukung Datastream.
- Pelajari lebih lanjut tujuan yang didukung Datastream.
- Pelajari cara membuat konfigurasi konektivitas pribadi, profil koneksi dan aliran data.