FAQ

Anda dapat menemukan jawaban atas pertanyaan umum (FAQ) tentang Datastream dan change data capture. Topik mencakup kasus penggunaan umum, perilaku sumber dan tujuan, integrasi Google Cloud , keamanan, konektivitas, pemantauan, dan harga.

Pertanyaan umum tentang Datastream dan pengambilan data perubahan (CDC)

Pertanyaan Jawaban
Apa itu Datastream?

Datastream adalah layanan replikasi dan pengambilan data perubahan (CDC) yang serverless dan mudah digunakan. Datastream memungkinkan replikasi data yang lancar dari sumber database relasional seperti AlloyDB untuk PostgreSQL, PostgreSQL, MySQL, SQL Server, dan Oracle, serta dari Salesforce, Salesforce Marketing Cloud (Pratinjau), ServiceNow (Pratinjau), dan MongoDB, langsung ke BigQuery. Datastream menawarkan skala, kecepatan, keamanan, dan kemudahan yang dibutuhkan bisnis modern. Dengan arsitektur penskalaan otomatis serverless, Datastream dapat Anda gunakan untuk menyiapkan pipeline ELT (Ekstraksi, Pemuatan, dan Transformasi) untuk replikasi data latensi rendah yang memungkinkan insight hampir real-time.

Datastream juga memiliki kemampuan untuk menyinkronkan aliran data di berbagai database dan aplikasi yang heterogen dengan andal dan dengan latensi minimal. Anda dapat mengintegrasikan layanan ini dengan template Dataflow untuk mereplikasi database ke Cloud SQL atau Spanner untuk sinkronisasi database, atau memanfaatkan aliran peristiwa langsung dari Cloud Storage untuk mewujudkan arsitektur berbasis peristiwa.

Apa saja metode yang digunakan Datastream untuk mengalirkan data? Datastream mengalirkan data dari sumber ke tujuan dengan salah satu dari dua metode:
  • CDC: Mengambil perubahan yang sedang berlangsung dari sumber secara real time.
  • Pengisian ulang: Memberikan snapshot historis data yang ada dalam tabel.
Apa itu CDC?

CDC adalah pendekatan untuk integrasi data yang memungkinkan Anda mengintegrasikan dan menganalisis data lebih cepat, menggunakan lebih sedikit resource sistem. Ini adalah metode untuk hanya mengambil perubahan terbaru (update, penyisipan, atau penghapusan) dari sumber data, sering kali dengan membaca log perubahan yang disimpan sumber untuk integritas transaksional internalnya sendiri.

CDC adalah mekanisme yang sangat efisien untuk membatasi dampak pada sumber saat memuat data baru ke penyimpanan data operasional dan data warehouse, serta menghilangkan kebutuhan akan pembaruan pemuatan massal dan periode batch yang tidak praktis dengan mengaktifkan pemuatan inkremental atau streaming perubahan data hampir real-time ke tujuan data.

CDC dapat digunakan dalam banyak kasus penggunaan yang memperoleh nilai dari akses konstan ke perubahan data saat terjadi, seperti analisis, sinkronisasi data di seluruh sistem yang didistribusikan secara geografis, dan arsitektur berbasis peristiwa.

Apa yang dimaksud dengan pengisian ulang?

Selain perubahan yang sedang berlangsung, Datastream juga menggunakan pengisian ulang untuk menarik semua data yang ada dari sumber, lalu mengalirkan data tersebut ke tujuan. Akibatnya, tujuan akan "diisi ulang" dengan semua data historis dari sumber. Ada dua jenis pengisian ulang:

  • Inkremental: Jenis pengisian ulang default untuk tabel. Selama pengisian ulang inkremental, Datastream mengambil data dari rentang baris dalam beberapa batch, dan mengalirkan data ke tujuan batch demi batch.
  • Dump penuh: Selama pengisian ulang dump penuh, Datastream menarik semua data sekaligus, dan mengalirkannya ke tujuan.
Apakah ada batasan yang perlu Anda pertimbangkan saat melakukan pengisian ulang?

Untuk mengetahui informasi tentang batasan pengisian ulang, lihat halaman batasan umum untuk jenis sumber masing-masing:

Apa urutan yang direkomendasikan untuk operasi CDC dan pengisian ulang? Dalam sebagian besar kasus, tidak ada pertimbangan khusus di sini. Jika pengisian ulang diaktifkan di aliran data, Datastream akan melakukan pengisian ulang dan CDC secara bersamaan. Dalam beberapa kasus ekstrem, misalnya saat mereplikasi tabel yang sangat besar yang tidak dapat diisi ulang menggunakan Datastream, Anda mungkin perlu memuat data ke BigQuery terlebih dahulu sebelum memulai streaming.
Dapatkah saya memantau status operasi CDC dan pengisian ulang?

Anda dapat memantau status pengisian ulang per objek:

  1. Di konsol Google Cloud , buka halaman Streams.
  2. Klik aliran data yang ingin Anda pantau.
  3. Klik tab Objects.

Status CDC secara efektif adalah status aliran data. Jika operasi CDC gagal, seluruh aliran data akan gagal.

Metrik tingkat objek tambahan tersedia di Cloud Monitoring. Untuk mengetahui informasi selengkapnya, lihat dokumentasi Cloud Monitoring.

Apa perbedaan antara aliran data perubahan dan replikasi?

Aliran data perubahan adalah urutan peristiwa yang Datastream kirimkan ke tujuan untuk tujuan konsumsi downstream. Hasil dari aliran data perubahan yang ditulis ke Cloud Storage adalah kumpulan file yang berisi peristiwa log perubahan dari tabel tertentu selama jangka waktu tertentu. Peristiwa tersebut mewakili penyisipan, pembaruan, dan penghapusan pada tabel tersebut, dan peristiwa tersebut dapat digunakan dan diproses di downstream Cloud Storage oleh layanan seperti Dataflow untuk kasus penggunaan seperti arsitektur berbasis peristiwa.

Replikasi dalam konteks Datastream berarti representasi tabel sumber yang terbaru dan 1:1 di tujuan. Misalnya, tabel di Oracle yang perubahannya direplikasi secara terus-menerus ke tabel BigQuery, dengan tabel BigQuery terus diperbarui menggunakan perubahan yang di-streaming dari tabel Oracle. Replikasi memanfaatkan aliran data perubahan dengan menggunakan setiap peristiwa perubahan dan menggunakannya untuk memperbarui tujuan. Datastream memungkinkan replikasi langsung ke BigQuery, dan mendukung tujuan tambahan seperti Cloud SQL dan Spanner melalui integrasi dengan Dataflow, dengan memanfaatkan template yang menarik peristiwa aliran data perubahan dari Cloud Storage dan memperbarui tabel tujuan.

Apakah Datastream memerlukan agen di sumber? Anda tidak perlu menginstal agen di sumber. Datastream menggunakan antarmuka yang ada (seperti Oracle LogMiner) untuk mendapatkan data dari sumber.
Berapa banyak tabel yang dapat saya sertakan dalam satu aliran data? Datastream dapat menangani hingga 10.000 tabel dalam satu aliran data. Tidak ada alasan teknis untuk membagi database menjadi beberapa aliran data, meskipun mungkin ada beberapa pertimbangan bisnis untuk menggunakan aliran data yang berbeda untuk alur logis yang berbeda, misalnya saat mereplikasi transaksi besar dari sumber PostgreSQL. Namun, setiap aliran data akan menambah beban pada database sumber. Beban tersebut dapat diabaikan untuk CDC, tetapi dapat menjadi signifikan untuk pengisian ulang.
Bagaimana dampak performa penggunaan Datastream pada database produksi?

CDC adalah mekanisme yang sangat efisien untuk membatasi dampak pada sumber saat data baru dimuat ke penyimpanan data dan data warehouse tujuan. CDC juga menghilangkan kebutuhan akan pembaruan pemuatan massal dan periode batch yang merepotkan dengan memungkinkan pemuatan inkremental atau streaming perubahan data yang hampir real-time ke tujuan.

Selain itu, Datastream meminimalkan dampak pengisian ulang awal dengan membatasi jumlah tugas pengisian ulang yang dilakukan secara bersamaan, dan memberi Anda kontrol untuk memutuskan objek mana yang akan diisi ulang, dan kapan harus mengisinya.

Dapatkah Anda menyalin file log dari sumber ke Google Cloud? Tidak. Datastream mengkueri log langsung di server database, dan hanya perubahan pada tabel yang ditentukan yang ditulis ke tujuan.
Dapatkah Datastream juga mentransfer data historis? Ya. Secara default, Datastream mendapatkan semua data historis dari tabel database sumber yang Anda tentukan, secara paralel dengan aliran data CDC. Datastream memberi Anda fleksibilitas untuk mendapatkan data historis dari beberapa atau semua tabel database di sumber Anda. Selain itu, saat mengonfigurasi aliran data, Anda dapat memilih untuk menonaktifkan pengisian ulang historis.
Apakah Datastream menjamin pengiriman tepat satu kali? Tidak. Datastream adalah pengiriman setidaknya sekali. Metadata tambahan yang ditulis Datastream ke setiap peristiwa dapat digunakan untuk menghapus data duplikat.
Dapatkah Datastream menangani database terenkripsi? Ya.
Dapatkah Datastream men-streaming tabel dan kolom tertentu dari sumber? Ya. Dengan Datastream, Anda dapat menentukan daftar penyertaan dan daftar pengecualian untuk tabel dan skema, guna mengalirkan hanya data yang Anda inginkan dari sumber ke tujuan. Untuk tabel yang disertakan, Anda dapat mengecualikan kolom tertentu dari tabel untuk menyesuaikan data yang ingin di-streaming ke tujuan. Namun, tampilan terwujud tidak dapat direplikasi.
Bagaimana cara memindahkan streaming ke project atau region lain?
  1. Buat aliran data di region atau project baru dengan konfigurasi yang sama seperti aliran data yang ada, tetapi jangan centang kotak Isi ulang data historis.
  2. Mulai streaming yang Anda buat.
  3. Setelah streaming yang Anda buat memiliki status RUNNING, jeda streaming yang ada.
  4. Secara opsional, ubah aliran data baru dengan mencentang kotak Isi ulang data historis. Data yang ada dalam tabel yang ditambahkan ke aliran data pada masa mendatang akan di-streaming dari sumber ke tujuan.
Bagaimana cara Datastream menangani transaksi yang tidak di-commit dalam file log database? Jika file log database berisi transaksi yang belum di-commit, dan jika ada transaksi yang di-roll back, database akan mencerminkan hal ini dalam file log sebagai operasi bahasa pengolahan data (DML) "terbalik". Misalnya, operasi INSERT yang di-roll back akan memiliki operasi DELETE yang sesuai. Datastream membaca operasi ini dari file log.
Apa saja ketersediaan regional Datastream?

Untuk melihat daftar region tempat Datastream tersedia, lihat Daftar yang diizinkan dan region IP.

Perilaku dan batasan sumber umum

Pertanyaan Jawaban
Sumber mana yang didukung Datastream?

Datastream mendukung streaming data dari sumber Oracle, MySQL, PostgreSQL, AlloyDB untuk PostgreSQL, SQL Server, Salesforce, Salesforce Marketing Cloud (Pratinjau), ServiceNow (Pratinjau), dan MongoDB, baik yang dihosting di cloud maupun yang dikelola sendiri. Untuk mengetahui informasi tentang versi khusus sumber, lihat halaman berikut:

Dapatkah Datastream menangani database terenkripsi? Ya.
Bagaimana cara Datastream mengekstrak data dari sumber?

Untuk MySQL, Datastream memproses log biner MySQL untuk mengekstrak peristiwa perubahan.

Untuk Oracle, Datastream menggunakan LogMiner dan setelan logging tambahan untuk mengekstrak data dari redo log Oracle.

Untuk PostgreSQL dan AlloyDB untuk PostgreSQL, Datastream mengandalkan fitur decoding logis PostgreSQL. Dekode logis mengekspos semua perubahan yang di-commit ke database dan memungkinkan penggunaan serta pemrosesan perubahan ini.

Untuk SQL Server, Datastream melacak perubahan bahasa pengolahan data (DML) menggunakan log transaksi.

Dapatkah Anda menyalin file log langsung dari sumber ke Google Cloud? Datastream tidak menyalin seluruh file log, tetapi mengkueri file log langsung dari server database, dan hanya mereplikasi perubahan dari tabel yang ditentukan ke tujuan.
Apa saja batasan pada data yang dapat diproses oleh Datastream?

Ada batasan umum, dan batasan yang berlaku untuk sumber database tertentu.

Batasan umum mencakup:

  • Ukuran peristiwa: Batas ukuran baris maksimum 100 MB untuk tujuan Cloud Storage dan batas ukuran baris 20 MB untuk BigQuery.
  • Beberapa operasi bahasa definisi data (DDL) tidak didukung selama replikasi, termasuk:
    • Menghapus kolom dari tengah tabel. Hal ini dapat menyebabkan perbedaan data karena nilai dikaitkan dengan kolom yang salah.
    • Mengubah jenis data kolom. Hal ini dapat menyebabkan perbedaan data karena data tidak dipetakan dengan benar ke jenis terpadu Datastream yang benar, dan data dapat rusak.
    • Penghapusan bertingkat akan diabaikan.
    • Pemotongan tabel diabaikan.

Untuk batasan khusus sumber, lihat halaman berikut:

Data apa yang disertakan dalam setiap peristiwa yang dihasilkan oleh Datastream? Setiap peristiwa yang dihasilkan (untuk penyisipan, pembaruan, dan penghapusan) mencakup seluruh baris data dari sumber, dengan jenis data dan nilai setiap kolom. Setiap peristiwa juga menyertakan metadata peristiwa yang dapat digunakan untuk menetapkan pengurutan dan memastikan pengiriman tepat satu kali.
Apakah Datastream menjamin pengurutan? Meskipun Datastream tidak menjamin pengurutan, Datastream menyediakan metadata tambahan untuk setiap peristiwa. Metadata ini dapat digunakan untuk memastikan konsistensi tertunda di tujuan. Bergantung pada sumber, rasio dan frekuensi perubahan, serta parameter lainnya, konsistensi tertunda umumnya dapat dicapai dalam periode 1 jam.
Apakah Datastream menjamin pengiriman tepat satu kali? Datastream adalah pengiriman minimal satu kali. Anda dapat menghilangkan data duplikat dengan menggunakan metadata tambahan yang ditulis Datastream ke setiap peristiwa.
Bagaimana Datastream merepresentasikan jenis data dari sumber untuk digunakan dalam pemrosesan downstream?

Saat menulis ke tujuan tanpa skema, seperti Cloud Storage, Datastream menyederhanakan pemrosesan data downstream di seluruh sumber dengan menormalisasi jenis data di semua sumber. Datastream mengambil jenis data sumber asli (misalnya, jenis NUMERIC MySQL atau PostgreSQL atau jenis NUMBER Oracle), dan menormalkannya menjadi jenis terpadu Datastream.

Jenis terpadu mewakili superset lossless dari semua kemungkinan jenis sumber, dan normalisasi berarti data dari berbagai sumber dapat diproses dengan upaya minimum dan dikueri di downstream dengan cara yang tidak bergantung pada sumber.

Bagaimana cara Datastream menangani perubahan struktur (skema) di sumber? Datastream mengambil skema dari sumber secara berkala. Skema disimpan di registry skema internal Datastream, dan setiap peristiwa merujuk ke skema pada saat peristiwa tersebut dibuat. Hal ini memungkinkan Datastream melacak perubahan skema dan menyesuaikan berdasarkan perubahan tersebut, sehingga memastikan semua data di-streaming dan dimuat ke tujuan dengan benar. Namun, di antara pengambilan skema, beberapa perubahan skema mungkin tidak terdeteksi, sehingga berpotensi menyebabkan perbedaan data.
Saya menghapus (menghilangkan) kolom di database sumber, tetapi kolom tersebut masih muncul di tujuan. Mengapa? Datastream tidak menghapus kolom di tujuan. Anda harus menghapus kolom secara manual. Perilaku ini disengaja, karena dalam beberapa kasus, Anda mungkin lebih memilih untuk mempertahankan kolom yang dihapus di tujuan. Misalnya, Datastream menafsirkan penggantian nama kolom di sumber sebagai penghapusan kolom dan penambahan kolom lain. Dalam hal ini, Anda tidak ingin kehilangan kolom asli di tujuan.
Streaming gagal dimulai karena kegagalan validasi, tetapi menurut saya ini adalah error atau saya ingin mencoba menjalankan streaming. Bagaimana cara melewati validasi ini? Anda dapat memulai streaming menggunakan API dengan menambahkan flag force=true dan melewati pemeriksaan validasi. Perhatikan bahwa melewati validasi tidak menjamin bahwa aliran data akan dapat berjalan, dan mungkin masih gagal jika database tidak memiliki konfigurasi atau izin yang diperlukan.
Dapatkah saya memulai ulang streaming yang gagal?

Anda dapat memperbaiki aliran data dengan status Failed dengan mengatasi error yang dilaporkan oleh Datastream. Untuk mengetahui informasi selengkapnya, lihat Memecahkan masalah streaming.

Anda juga dapat memulihkan streaming dengan status Failed permanently. Untuk mengetahui informasi selengkapnya, lihat Memulihkan streaming.

Apakah Datastream mengunci tabel database?

Tidak. Datastream tidak perlu mengunci tabel.

Halaman batasan untuk setiap sumber menentukan bahwa aliran data dapat memiliki hingga 10.000 tabel. Apakah ini berarti Datastream tidak dapat menjalankan operasi CDC secara paralel untuk lebih dari 10.000 tabel secara bersamaan? Tidak. Batas yang disebutkan adalah per streaming. Anda dapat memiliki beberapa aliran data dengan jumlah total tabel melebihi 10.000 tabel.

Perilaku dan batasan sumber MySQL

Pertanyaan Jawaban
Bagaimana cara Datastream mendapatkan data dari MySQL? Datastream menggunakan log biner MySQL untuk mengekstrak peristiwa perubahan dari MySQL
Apakah Datastream mendukung instance replika baca Cloud SQL untuk MySQL?

Ya, Datastream mendukung instance replika baca untuk Cloud SQL untuk MySQL versi 5.7 dan 8.0.

Anda dapat mengaktifkan logging biner pada instance ini. Untuk melakukannya, jalankan perintah gcloud CLI berikut:

gcloud sql instances patch INSTANCE_NAME -- enable-bin-log

Untuk mengetahui informasi selengkapnya, lihat Logging biner pada replika baca.

Izin minimum apa yang diperlukan Datastream untuk mereplikasi data dari database MySQL sumber?

Anda harus memberikan izin berikut kepada pengguna Datastream untuk mereplikasi data dari database MySQL:

  • SELECT
  • REPLICATION SLAVE
  • REPLICATION CLIENT
Apakah Datastream mendukung kompresi log biner?

Tidak, Datastream tidak mendukung kompresi peristiwa transaksi dengan kompresi transaksi log biner. Nonaktifkan kompresi transaksi log biner untuk menggunakan fungsi change data capture untuk MySQL di Datastream.

Organisasi Anda tidak mengizinkan pemberian izin SELECT di semua tabel dan databasenya. Apakah Anda masih dapat menggunakan Datastream?

Anda dapat memberikan izin SELECT ke tabel tertentu yang ingin direplikasi atau ke seluruh skema dalam database. Untuk melakukannya, jalankan salah satu perintah berikut:

GRANT SELECT ON DATABASE_NAME.TABLE_NAME TO USER_NAME@'%';
atau
GRANT SELECT ON DATABASE_NAME.* TO USER_NAME@'%';

Ganti kode berikut:

  • DATABASE_NAME: Nama database MySQL Anda.
  • TABLE_NAME: Nama tabel yang Anda beri izin SELECT.
  • USER_NAME: Nama pengguna yang Anda beri izin SELECT.

Jika Anda ingin membatasi izin ke nama host tertentu, ganti karakter % dengan alamat IP atau rentang alamat tertentu.

Perilaku dan batasan sumber Oracle

Pertanyaan Jawaban
Bagaimana cara Datastream mendapatkan data dari Oracle? Datastream menggunakan Oracle LogMiner untuk mengekstrak data dari redo log Oracle.
Apakah Datastream memerlukan lisensi GoldenGate dari Oracle? Tidak. Datastream tidak memerlukan lisensi GoldenGate karena menggunakan Oracle LogMiner untuk membaca data dari redo log database.
Apa yang terjadi jika Oracle LogMiner tidak lagi didukung? Oracle LogMiner masih didukung di semua rilis Oracle yang tersedia secara umum, dan Datastream akan terus mendukung LogMiner di semua rilis mendatang. Oracle telah menghentikan dukungan untuk opsi CONTINUOUS_MINE LogMiner, tetapi opsi ini tidak digunakan oleh Datastream, sehingga penghentian penggunaan ini tidak berdampak pada Datastream.
Apakah Datastream mendukung enkripsi data dalam pengiriman dari database Oracle?

Datastream mendukung enkripsi data dalam pengiriman berdasarkan Oracle Net Services. Datastream berjalan dalam mode REQUESTED.

Apakah Datastream mendukung enkripsi Secure Sockets Layer (SSL) dan Transport Layer Security (TLS)?

Ya, Datastream mendukung protokol TCPS untuk koneksi terenkripsi SSL/TLS ke sumber Oracle.

Apakah Datastream mendukung arsitektur multi-tenant Oracle, khususnya Container Database (CDB) dan Pluggable Database (PDB)? Ya, Datastream mendukung arsitektur multi-tenant Oracle (CDB/PDB). Namun, Anda hanya dapat mereplikasi satu database yang dapat di-plug dalam satu aliran data.
Organisasi Anda tidak mengizinkan pemberian izin GRANT SELECT ANY TABLE. Apakah Anda masih dapat menggunakan Datastream?

Jika tidak dapat memberikan izin GRANT SELECT ANY TABLE, Anda dapat memberikan izin SELECT ke daftar tabel berikut:

  • ALL_COL_COMMENTS
  • ALL_CONS_COLUMNS
  • ALL_CONSTRAINTS
  • ALL_DB_LINKS
  • ALL_EXTERNAL_TABLES
  • ALL_IND_COLUMNS
  • ALL_INDEXES
  • ALL_LOG_GROUPS
  • ALL_MVIEWS
  • ALL_OBJECTS
  • ALL_PART_TABLES
  • ALL_SEQUENCES
  • ALL_SOURCE
  • ALL_SYNONYMS
  • ALL_TAB_COLS
  • ALL_TAB_COLUMNS
  • ALL_TAB_COMMENTS
  • ALL_TABLES
  • ALL_TRIGGERS
  • ALL_TRIGGER_COLS
  • ALL_TYPES
  • ALL_USERS
  • ALL_VIEWS
  • DATABASE_PROPERTIES
  • DBA_ROLE_PRIVS
  • DUAL
  • PRODUCT_COMPONENT_VERSION
  • ROLE_SYS_PRIVS
  • USER_ROLE_PRIVS
  • USER_TAB_PRIVS

Untuk melakukan streaming perubahan menggunakan Datastream, Anda juga memerlukan akses baca ke semua tabel yang disertakan dalam aliran data.

Untuk memulai streaming, lewati validasi menggunakan API. Untuk mengetahui informasi selengkapnya, lihat Memulai streaming.

Apakah Datastream mendukung replikasi dari instance replika baca Oracle? Datastream mendukung replikasi dari instance replika baca Oracle selama instance dikonfigurasi sesuai dengan panduan konfigurasi.
Apakah Datastream mendukung database Oracle SCAN RAC? Ya, benar. Namun, Anda tidak dapat membuat konektivitas langsung ke database menggunakan fitur Single Client Access Name (SCAN) di lingkungan Oracle Real Application Clusters (RAC) menggunakan Datastream. Untuk mengatasi batasan ini, hubungkan langsung ke salah satu node, atau gunakan Oracle Connection Manager. Anda juga dapat membuat konfigurasi konektivitas pribadi menggunakan solusi reverse proxy seperti HAProxy.

Perilaku dan batasan sumber PostgreSQL

Pertanyaan Jawaban
Bagaimana cara Datastream mendapatkan data dari PostgreSQL? Datastream menggunakan fitur decoding logis PostgreSQL untuk mengekstrak peristiwa perubahan dari PostgreSQL
Apakah Datastream mendukung replikasi dari sumber AlloyDB untuk PostgreSQL atau AlloyDB Omni? Ya. Datastream mendukung kedua sumber ini. Untuk mengetahui informasi tentang cara mengonfigurasi database AlloyDB untuk PostgreSQL sumber, lihat Mengonfigurasi database AlloyDB untuk PostgreSQL. Untuk mengetahui informasi tentang cara mengonfigurasi database AlloyDB Omni sumber, lihat Mengonfigurasi database PostgreSQL yang dikelola sendiri.
Apakah Datastream mendukung replikasi dari instance replika baca PostgreSQL? Tidak, Datastream tidak mendukung replikasi dari instance replika baca untuk PostgreSQL.
Apakah Datastream mendukung Row-Level Security (RLS)? Datastream tidak mendukung replikasi tabel dengan RLS diaktifkan. Namun, Anda dapat mengabaikan batasan ini menggunakan klausa BYPASSRLS:
ALTER USER USER_NAME BYPASSRLS;

Ganti USER_NAME dengan nama pengguna yang digunakan Datastream untuk terhubung ke database, dan yang ingin Anda kecualikan dari kebijakan RLS.

Apakah Datastream mendukung operasi CDC serentak saat mereplikasi dari sumber PostgreSQL?

Tidak. Replikasi PostgreSQL mengandalkan konsep slot replikasi, dan slot replikasi tidak mendukung koneksi serentak. Hanya boleh ada satu tugas CDC yang membaca dari slot replikasi dalam satu waktu. Misalnya, jika Anda menghapus banyak data dari database sumber, slot replikasi mungkin akan kelebihan beban dengan peristiwa penghapusan. Setiap perubahan berikutnya pada sumber akan ditunda hingga peristiwa penghapusan yang sudah ada dalam antrean slot replikasi diproses.

Untuk mengetahui informasi tentang pendekatan yang disarankan saat mereplikasi data transaksi besar, lihat Mendiagnosis masalah.

Apakah Datastream mendukung enkripsi Secure Sockets Layer (SSL) dan Transport Layer Security (TLS)?

Ya, Datastream mendukung koneksi terenkripsi SSL/TLS.

Perilaku dan batasan sumber SQL Server

Pertanyaan Jawaban
Edisi SQL Server mana yang didukung Datastream? Datastream mendukung versi database SQL Server yang mendukung change data capture. Untuk mengetahui daftar lengkap versi dan edisi SQL Server yang didukung, lihat Versi.
Bagaimana cara kerja replikasi CDC Datastream untuk sumber SQL Server? Proses penyerapan data Datastream menggunakan log transaksi atau tabel perubahan, bergantung pada konfigurasi sumber. Untuk mengetahui informasi selengkapnya, lihat Database SQL Server sumber.
Izin minimum apa yang diperlukan Datastream untuk mereplikasi data dari database SQL Server sumber?

Anda harus memberikan peran dan izin berikut kepada pengguna Datastream untuk mereplikasi data dari database SQL Server:

Untuk metode CDC tabel perubahan:

  • db_owner
  • db_denydatawriter

Selain itu, untuk metode CDC log transaksi:

  • Izin SELECT pada database dan untuk fungsi sys.fn_dblog
  • Izin SELECT pada tabel dbo.sysjobs
  • VIEW SERVER STATE
  • Untuk mengetahui informasi mendetail tentang cara mengonfigurasi sumber, lihat halaman konfigurasi masing-masing untuk jenis database Anda.

Mengapa Anda memerlukan konfigurasi seperti mengubah interval polling dan menyiapkan pengaman pemotongan saat menggunakan log transaksi? Saat Anda mereplikasi data dari sumber SQL Server menggunakan log transaksi, jika log terpotong sebelum Datastream membacanya, data akan hilang. Mengubah interval polling dan menyiapkan pengamanan pemotongan bersifat opsional, tetapi memberikan lapisan perlindungan tambahan untuk memastikan Datastream dapat membaca data bahkan dalam skenario saat terjadi periode nonaktif atau masalah konektivitas. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi database SQL Server sumber.
Metode CDC apa yang harus dipilih saat mereplikasi dari sumber SQL Server?

Anda dapat memilih salah satu dari dua metode CDC yang tersedia, berdasarkan konfigurasi database SQL Server sumber Anda:

  • Log transaksi: pilih metode ini untuk memproses perubahan langsung dari log database. Metode ini memberikan performa terbaik dan lebih efisien, tetapi memerlukan langkah-langkah konfigurasi tambahan yang mungkin tidak didukung oleh database Anda.
  • Tabel perubahan: pilih metode ini untuk memproses perubahan dari tabel perubahan khusus. Metode ini lebih mudah dikonfigurasi dan memiliki lebih sedikit batasan, tetapi mendukung throughput yang lebih rendah dan meningkatkan beban pada database Anda.

Untuk mengetahui informasi selengkapnya, lihat Ringkasan SQL Server sebagai sumber.

Perilaku dan batasan sumber Salesforce

Pertanyaan Jawaban
Apa yang dimaksud dengan org Salesforce? Organisasi Salesforce, yang juga disebut sebagai org, adalah deployment khusus Salesforce Anda, yang mirip dengan instance database. Organisasi memiliki kumpulan pengguna berlisensi yang ditentukan dan menyimpan semua data serta aplikasi pelanggan.
Apa yang dimaksud dengan objek, data, dan kolom Salesforce?

Objek adalah entity class, dan mirip dengan tabel dalam nomenklatur database relasional. Peristiwa ini dapat berupa peristiwa standar atau kustom. Objek standar disertakan dalam Salesforce secara default, sedangkan objek kustom dibuat oleh pengguna untuk menyimpan data yang spesifik untuk kasus penggunaan mereka.

Data adalah instance spesifik dari objek, mirip dengan baris dalam database relasional.

Kolom adalah atribut spesifik dari suatu objek, mirip dengan kolom dalam database relasional.

Apakah Datastream mendukung kolom kalkulasi Salesforce? Datastream mendukung sebagian kolom kalkulasi Salesforce (kolom formula). Mereplikasi kolom ini tunduk pada batasan tertentu. Untuk mengetahui informasi selengkapnya, lihat Batasan umum.

Perilaku dan batasan sumber Salesforce Marketing Cloud

Pertanyaan Jawaban
Apa yang dimaksud dengan Salesforce Marketing Cloud? Salesforce Marketing Cloud adalah platform untuk menghadirkan perjalanan pelanggan yang dipersonalisasi di berbagai saluran, seperti email, seluler, dan media sosial. Produk ini sepenuhnya terpisah dari platform Salesforce standar.
Bagaimana cara Datastream mereplikasi data dari Salesforce Marketing Cloud? Datastream menggunakan API Salesforce Marketing Cloud untuk mengambil data berdasarkan interval polling yang dikonfigurasi. Alat ini mendukung sinkronisasi inkremental untuk sebagian besar objek dan pemuatan ulang penuh berkala untuk objek seperti ekstensi data.

Perilaku tujuan BigQuery

Pertanyaan Jawaban
Bagaimana cara Datastream dan BigQuery bekerja sama untuk mereplikasi perubahan dari database sumber? Datastream terus membaca aliran data perubahan dari database sumber, dan mengalirkan peristiwa upsert dan penghapusan ke tabel tujuan BigQuery menggunakan Storage Write API. BigQuery kemudian menerapkan perubahan pada tabel berdasarkan konfigurasi keusangan tabel.
Bagaimana operasi Bahasa Pengolahan Data (DML) diterapkan di BigQuery?
  • Dalam mode Append-only, data ditambahkan di BigQuery sebagai aliran perubahan, dengan baris terpisah untuk setiap peristiwa INSERT, UPDATE-INSERT, UPDATE-DELETE, dan DELETE.
  • Dalam mode Merge (default), saat Datastream membuat tabel di BigQuery, Datastream akan menetapkan kunci utama pada tabel sesuai dengan kunci utama yang ditentukan di sumber. BigQuery memproses peristiwa dan menerapkan perubahan pada tabel BigQuery yang mendasarinya berdasarkan kunci utama tabel sumber. Jika tabel sumber tidak memiliki kunci utama, tabel tersebut akan diperlakukan seolah-olah mode Hanya tambahkan digunakan.
Bagaimana cara Datastream dan BigQuery menangani pengurutan peristiwa? BigQuery menggunakan metadata peristiwa dan nomor urut perubahan (CSN) internal untuk menerapkan peristiwa ke tabel dalam urutan yang benar. Untuk mengetahui informasi selengkapnya tentang metadata peristiwa, lihat Peristiwa dan streaming.
Bagaimana biaya BigQuery dihitung saat digunakan dengan Datastream? Biaya BigQuery dihitung dan ditagih secara terpisah dari Datastream. Untuk mempelajari cara mengontrol biaya BigQuery, lihat harga CDC BigQuery.
Berapa ukuran baris maksimum yang didukung Datastream saat melakukan streaming data ke BigQuery? Ukuran baris maksimum yang didukung Datastream adalah 20 MB.
Saat Anda melakukan streaming ke BigQuery, tabel akan diawali dengan _. Dapatkah Anda mengubah perilaku ini agar tabel di BigQuery mengikuti struktur yang sama seperti di database sumber? Saat mengonfigurasi set data untuk tujuan BigQuery, Anda membuat set data untuk setiap skema atau satu set data untuk semua skema. Saat Anda membuat set data untuk setiap skema, setiap skema di sumber akan dipetakan ke set data di BigQuery, dan semua tabel dalam skema sumber akan dipetakan ke tabel dalam set data. Saat Anda memilih opsi set data tunggal untuk semua skema, nama tabel akan diawali dengan _, sesuai dengan konvensi penamaan tabel di BigQuery.
Dapatkah CDC mengambil perubahan skema sumber, misalnya, saat kolom disisipkan atau dihapus di sumber? Apakah perubahan tersebut otomatis diterapkan dalam tabel yang sudah diisi di set data BigQuery tujuan? Datastream mendeteksi kolom baru secara otomatis dan menambahkannya ke skema tujuan untuk baris baru, tetapi tidak untuk baris yang sudah direplikasi ke tujuan. Kolom yang dihapus akan diabaikan, dan Datastream akan mengisinya dengan nilai NULL di tujuan. Kemudian, Anda dapat menghapus kolom ini secara manual di BigQuery.

Perilaku tujuan Cloud Storage

Pertanyaan Jawaban
Bagaimana cara membuat file di Cloud Storage? Datastream membuat folder untuk setiap tabel. Di setiap folder, Datastream merotasi file (atau membuat file baru) setiap kali mencapai batas ukuran atau waktu yang ditentukan pengguna. Datastream juga merotasi file setiap kali perubahan skema terdeteksi. Nama file akan terdiri dari kunci skema unik (berdasarkan hash skema), diikuti dengan stempel waktu peristiwa pertama dalam file. Untuk tujuan keamanan, nama file ini tidak dimaksudkan untuk dibaca atau dipahami oleh orang.
Jika data di Cloud Storage tidak diurutkan, bagaimana cara mengurutkan ulang peristiwa sebelum memuatnya ke tujuan?

Setiap peristiwa berisi beberapa kolom metadata yang secara unik mengidentifikasi baris dalam file log, dan memungkinkan Anda mengurutkan peristiwa. Kolom ini mencakup:

Untuk sumber Oracle:

  • rs_id (ID set data), yang sebenarnya terdiri dari tiga nilai (misalnya, 0x0073c9.000a4e4c.01d0). rs_id mengidentifikasi data secara unik dalam redo log.
  • ssn (nomor urut SQL), yang digunakan saat data dalam redo log terlalu panjang. Oleh karena itu, Oracle LogMiner membagi data menjadi beberapa baris.

Untuk sumber MySQL:

  • log_file (untuk replikasi berbasis binlog) atau binlog_file (untuk replikasi berbasis GTID), tempat Datastream mengambil peristiwa dalam replikasi CDC.
  • log_position (untuk replikasi berbasis binlog) atau binlog_position (untuk replikasi berbasis GTID), yang mengidentifikasi offset kumpulan data dalam log biner MySQL.
  • gtid (untuk replikasi berbasis GTID), yang secara unik mengidentifikasi transaksi untuk peristiwa tersebut.

Untuk sumber PostgreSQL:

  • source_timestamp, yang merupakan stempel waktu saat data berubah di sumber. Jika nilai source_timestamp untuk peristiwa yang Anda urutkan sama, bandingkan nilai lsn.
  • lsn (nomor urut log), yang mengidentifikasi offset data dalam file log WAL.

Untuk mengetahui informasi selengkapnya tentang kolom metadata, lihat Metadata khusus sumber.

Jika beberapa file dibuat untuk stempel waktu yang sama, dalam urutan apa file tersebut harus diproses? Karena pengurutan dalam dan di seluruh file tidak dijamin, cara terbaik untuk menentukan urutan pemrosesan file untuk sumber adalah dengan mendapatkan semua peristiwa dari semua file untuk stempel waktu tertentu, lalu menerapkan pengurutan menggunakan metode yang disebutkan sebelumnya di bagian ini.
Bagaimana cara penanganan update kunci utama? Apakah ada informasi sebelum dan setelah dalam peristiwa? Saat kunci utama baris berubah, Datastream akan menghasilkan dua peristiwa untuk perubahan tersebut: UPDATE-DELETE dan UPDATE-INSERT. Peristiwa UPDATE-DELETE mewakili data sebelum pembaruan dan UPDATE-INSERT mewakili data setelah pembaruan. Untuk mengetahui informasi selengkapnya tentang metadata khusus sumber, lihat Peristiwa dan streaming.
Berapa ukuran baris maksimum yang didukung Datastream saat melakukan streaming data ke Cloud Storage? Ukuran baris maksimum yang didukung Datastream adalah 100 MB.

Kasus penggunaan

Pertanyaan Jawaban
Apa saja kasus penggunaan umum untuk Datastream?

Datastream adalah layanan CDC dan replikasi, yang berarti layanan ini fleksibel di berbagai kasus penggunaan yang dapat memanfaatkan akses ke data perubahan streaming berkelanjutan. Kasus penggunaan paling umum untuk Datastream adalah:

  1. Analytics: Dengan mereplikasi data langsung ke BigQuery, pelanggan dapat mengakses data operasional terbaru di BigQuery. Pelanggan dapat menggunakan data yang terus diperbarui ini di BigQuery untuk membuat dasbor terbaru berdasarkan data mereka. Hal ini dapat digunakan, misalnya, untuk memantau sistem dan mendapatkan insight terbaru tentang status bisnis mereka.
  2. Skenario replikasi dan sinkronisasi database: Dengan mengintegrasikan Datastream dengan template Dataflow untuk memuat data ke Cloud SQL atau Spanner, Anda bisa mendapatkan replikasi terbaru dari data sumber Anda di database ini. Anda dapat menggunakan data yang terus diperbarui ini di database tujuan untuk migrasi database dengan periode nonaktif rendah dari sumber ke tujuan, atau untuk konfigurasi hybrid cloud, dengan sumber dan tujuan berada di lingkungan hosting yang berbeda.
  3. Arsitektur berbasis peristiwa: Arsitektur berbasis microservice modern mengandalkan hub data pusat yang terus diperbarui dengan peristiwa dari seluruh organisasi Anda agar berbasis peristiwa. Dengan terus menulis data peristiwa ke tujuan seperti BigQuery dan Cloud Storage, Anda dapat membangun arsitektur berbasis peristiwa yang didasarkan pada konsumsi data peristiwa dari tujuan tersebut.

Integrasi

Pertanyaan Jawaban
Bagaimana Datastream terintegrasi dengan layanan data Google Cloud ?

Datastream melengkapi dan meningkatkan suite data Google Cloud dengan menyediakan replikasi data CDC dari sumber ke berbagai layanan Google Cloud . Dengan berintegrasi secara lancar dengan layanan ini, Datastream cocok dengan ekosistem Google Cloud yang lebih besar.

Datastream terintegrasi dengan layanan data berikut:

  • BigQuery: Datastream menggunakan BigQuery Write API untuk berintegrasi langsung dengan BigQuery. Datastream menulis peristiwa perubahan langsung ke set data BigQuery tempat perubahan digabungkan secara terus-menerus (UPSERT) dengan data yang ada.
  • Dataflow: Datastream dapat berintegrasi dengan Dataflow menggunakan template Dataflow. Template ini membaca data dari Cloud Storage dan memuat data tersebut ke BigQuery, Cloud SQL untuk PostgreSQL, atau Spanner. Tujuan template ini adalah untuk mempertahankan tabel sumber yang direplikasi dan terbaru di tujuan. Template tersedia di UI Dataflow, dan dibuat untuk file yang dihasilkan Datastream untuk pemrosesan siap pakai.
  • Cloud Storage: Datastream terintegrasi dengan Cloud Storage dengan menulis ke Cloud Storage sebagai tujuan streaming perubahan.
  • Cloud SQL dan Spanner: dengan menggunakan template Datastream dan Dataflow, Anda dapat mempertahankan tabel yang direplikasi dan terbaru dalam database.
Apakah template Datastream-to-BigQuery di Dataflow memiliki batasan untuk jumlah operasi bahasa pengolahan data (DML)? Tidak. Template ini menggunakan API streaming insert untuk memuat data ke BigQuery. Oleh karena itu, tidak ada batasan jumlah operasi DML. Namun, beberapa batasan kuota berlaku.

Keamanan dan konektivitas

Pertanyaan Jawaban
Apakah Datastream merupakan layanan yang aman untuk data sensitif? Datastream mendukung beberapa konfigurasi konektivitas pribadi yang aman untuk melindungi data dalam pengiriman saat di-streaming dari sumber ke tujuan. Setelah direplikasi, data akan dienkripsi secara default, dan memanfaatkan kontrol keamanan BigQuery atau Cloud Storage. Setiap data yang di-buffer oleh Datastream dienkripsi dalam penyimpanan.
Opsi konektivitas mana yang tersedia untuk menghubungkan sumber Anda ke Datastream?

Ada tiga jenis metode konektivitas yang dapat Anda konfigurasi:

  • Daftar IP yang diizinkan: Metode ini memberi Anda konektivitas publik dengan mengizinkan alamat IP regional Datastream di sumber. Saat Anda membuat aliran data, Datastream akan menampilkan alamat IP ini di UI.
  • Tunnel SSH penerusan: Metode ini memberi Anda konektivitas yang aman melalui jaringan publik dengan memanfaatkan bastion SSH yang dikonfigurasi pelanggan, selain mengizinkan alamat IP regional.
  • Konektivitas pribadi melalui peering VPC: Gunakan metode ini untuk terhubung ke database yang dihosting Google Cloudmelalui jaringan internal Google Cloud, atau manfaatkan koneksi VPN atau Interconnect yang ada dengan membuat peering VPC antara jaringan pribadi Datastream dan VPC Google Cloud organisasi Anda.
Bagaimana cara membatasi pemrosesan data sensitif oleh Datastream?

Datastream memungkinkan Anda menentukan elemen data tertentu (skema, tabel, dan kolom) dari sumber yang ingin Anda streaming ke tujuan, dan elemen yang ingin Anda kecualikan dari streaming.

Log database dapat berisi data perubahan dari elemen yang dikecualikan dalam definisi aliran data Anda. Karena Anda tidak dapat memfilter elemen ini di sumber, Datastream akan membaca, tetapi mengabaikan, data apa pun yang terkait dengan elemen tersebut.

Bagaimana cara Datastream menjaga keamanan kredensial database? Baik Anda menggunakan Secret Manager untuk menyimpan sandi atau memasukkan sandi secara manual saat membuat profil koneksi, semua metadata pengguna dienkripsi saat dalam pengiriman dan dalam penyimpanan, dan Google menyimpannya di sistem penyimpanan miliknya. Akses ke metadata ini dilacak dan diaudit.
Mengapa halaman Create a private connectivity configuration menyatakan bahwa Anda harus memberikan peran roles/compute.networkAdmin ke akun layanan Datastream untuk membuat konfigurasi konektivitas pribadi di VPC bersama? Peran networkAdmin hanya diperlukan untuk membuat peering VPC. Setelah peering dibuat, Anda tidak lagi memerlukan peran tersebut. Jika organisasi Anda tidak mengizinkan pemberian peran networkAdmin ke akun layanan Datastream, buat peran khusus dengan izin spesifik berikut:

Memilih rentang IP secara dinamis

  • compute.routes.get
  • compute.routes.list
  • compute.subnetworks.get
  • compute.subnetworks.list

Membuat jaringan yang di-peering

  • compute.globalOperations.get
  • compute.networks.addPeering
  • compute.networks.removePeering
  • compute.networks.get

Mencadangkan alamat IP

  • compute.globalAddresses.get
  • compute.globalAddresses.create
  • compute.globalAddresses.createInternal
  • compute.globalAddresses.delete
  • compute.globalAddresses.deleteInternal
  • compute.networks.use
  • compute.networks.listPeeringRoutes
Dapatkah saya menggunakan Private Service Connect untuk membuat konfigurasi konektivitas pribadi? Datastream mendukung antarmuka Private Service Connect sebagai konfigurasi konektivitas pribadi. Antarmuka Private Service Connect adalah resource yang memungkinkan jaringan Virtual Private Cloud (VPC) produsen memulai koneksi ke dan menerima koneksi dari lampiran jaringan di jaringan VPC konsumen. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi antarmuka Private Service Connect.

Memantau Datastream

Pertanyaan Jawaban
Bagaimana cara mengetahui kapan semua data historis saya telah disalin ke tujuan? Datastream memberikan informasi tentang statusnya saat ini dalam file log. Entri log dibuat untuk menunjukkan kapan tabel selesai diisi ulang.
Latensi terkadang meningkat, lalu menurun secara bertahap seiring waktu. Apakah hal ini wajar? Datastream meningkatkan skala secara otomatis saat throughput peristiwa yang dihasilkan oleh sumber meningkat. Namun, untuk melindungi database sumber dan Datastream, ada batasan jumlah koneksi dan proses serentak yang dapat dibuka Datastream kapan saja. Lonjakan latensi sementara diperkirakan akan terjadi saat ada peningkatan signifikan dalam throughput peristiwa, dan diperkirakan akan menurun secara bertahap seiring dengan diprosesnya backlog peristiwa.

Harga

Pertanyaan Jawaban
Bagaimana penetapan harga Datastream?

Harga Datastream didasarkan pada volume (GB) data yang diproses dari sumber ke tujuan.

Untuk mempelajari lebih lanjut informasi harga Datastream, lihat Harga.

Bagaimana cara menghitung ukuran data? Penagihan dihitung berdasarkan ukuran data yang diproses oleh Datastream. Datastream hanya mengenakan biaya untuk data yang di-streaming ke tujuan.
Jika Anda menggunakan Datastream dengan BigQuery atau Dataflow, apa yang Anda bayar? Setiap layanan diberi harga dan ditagih secara terpisah.

Informasi tambahan

Pertanyaan Jawaban
Bagaimana jika saya memiliki pertanyaan atau masalah tambahan terkait penggunaan Datastream? Tim dukungan Google dapat memberikan dukungan jika Anda mengalami masalah saat menggunakan Datastream. Selain itu, panduan pemecahan masalah menangani masalah umum yang mungkin Anda hadapi saat menggunakan Datastream.

Langkah berikutnya