FAQ

Di halaman ini, Anda akan menemukan jawaban atas pertanyaan umum (FAQ) tentang penggunaan Datastream. FAQ ini terkait dengan:

  • Pertanyaan umum tentang Datastream dan pengambilan data perubahan (CDC)
  • Perilaku dan batasan sumber umum
  • Perilaku dan batasan sumber MySQL
  • Perilaku dan batasan sumber Oracle
  • Perilaku dan batasan sumber PostgreSQL (termasuk AlloyDB untuk PostgreSQL)
  • Perilaku dan batasan sumber SQL Server
  • Perilaku dan batasan sumber Salesforce
  • Perilaku tujuan BigQuery
  • Perilaku tujuan Cloud Storage
  • Kasus penggunaan umum untuk menggunakan Datastream
  • Cara Datastream berintegrasi dengan Google Cloud layanan data
  • Keamanan dan konektivitas
  • Memantau Datastream
  • Harga
  • Informasi tambahan tentang Datastream

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 for PostgreSQL, PostgreSQL, MySQL, SQL Server, dan Oracle, serta dari Salesforce dan MongoDB, langsung ke BigQuery. Datastream menawarkan skala, kecepatan, keamanan, dan kesederhanaan yang dibutuhkan bisnis modern. Dengan arsitektur penskalaan otomatis serverless, Datastream memungkinkan Anda menyiapkan pipeline ELT (Ekstraksi, Pemuatan, dan Transformasi) untuk replikasi data latensi rendah yang memungkinkan insight mendekati real-time.

Datastream juga memiliki kemampuan untuk menyinkronkan aliran data di berbagai database dan aplikasi heterogen secara andal dan dengan latensi minimal. Anda dapat mengintegrasikan layanan 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: Merekam perubahan yang sedang berlangsung dari sumber secara real time.
  • Pengisian ulang: Menyediakan 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 menarik hanya perubahan terbaru (pembaruan, 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 dalam penyimpanan data operasional dan data warehouse, serta menghilangkan kebutuhan untuk memperbarui pemuatan massal dan jendela batch yang tidak nyaman dengan memungkinkan pemuatan inkremental atau streaming perubahan data mendekati real-time ke tujuan data.

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

Apa itu pengisian ulang?

Selain perubahan berkelanjutan, Datastream juga menggunakan pengisian ulang untuk menarik semua data yang ada dari sumber, lalu mengalirkan data 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 melakukan streaming data ke tujuan batch demi batch.
  • Dump penuh: Selama pengisian ulang dump penuh, Datastream menarik semua data sekaligus, dan mengalirkan data tersebut ke tujuan.
Apakah ada batasan yang perlu dipertimbangkan 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 pada aliran, 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 yang ingin Anda pantau.
  3. Klik tab Objek.

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

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

Apa yang dimaksud dengan aliran perubahan versus replikasi?

Aliran perubahan adalah urutan peristiwa yang dipancarkan Datastream ke tujuan untuk tujuan penggunaan hilir. Hasil dari aliran perubahan yang ditulis ke Cloud Storage adalah sekumpulan file yang berisi peristiwa log perubahan dari tabel tertentu selama jangka waktu tertentu. Peristiwa ini mewakili penyisipan, pembaruan, dan penghapusan ke tabel tersebut, dan peristiwa dapat digunakan dan diproses di hilir 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 berkelanjutan ke tabel BigQuery, dengan tabel BigQuery terus diperbarui menggunakan perubahan yang di-streaming dari tabel Oracle. Replikasi memanfaatkan aliran 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 yang sesuai.

Apakah Datastream memerlukan agen di sumber? Anda tidak perlu menginstal agen di sumber. Datastream menggunakan antarmuka yang ada (seperti Oracle LogMiner) untuk mengeluarkan data dari sumber.
Berapa banyak tabel yang dapat saya sertakan dalam satu aliran? Datastream dapat menangani hingga 10.000 tabel dalam satu stream. Tidak ada alasan teknis untuk membagi database menjadi beberapa aliran, meskipun mungkin ada beberapa pertimbangan bisnis untuk menggunakan aliran yang berbeda untuk alur logis yang berbeda, misalnya saat mereplikasi transaksi besar dari sumber PostgreSQL. Namun, setiap aliran akan menambah beban pada database sumber. Pemuatan tersebut tidak signifikan untuk CDC, tetapi dapat 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 dalam penyimpanan data dan data warehouse tujuan. CDC juga menghilangkan kebutuhan untuk pembaruan pemuatan massal dan periode batch yang tidak praktis dengan memungkinkan pemuatan inkremental atau streaming perubahan data yang mendekati real-time ke tujuan.

Selain itu, Datastream meminimalkan dampak pengisian ulang awal dengan membatasi jumlah tugas pengisian ulang serentak, dan menawarkan kontrol kepada Anda untuk memutuskan objek mana yang akan diisi ulang, dan kapan akan diisi ulang.

Dapatkah Anda menyalin file log dari sumber ke Google Cloud? Tidak. Datastream mengkueri log secara 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 CDC. Datastream memberi Anda fleksibilitas untuk mendapatkan data historis dari beberapa atau semua tabel database di sumber Anda. Selain itu, saat mengonfigurasi streaming, Anda dapat memilih untuk menonaktifkan pengisian ulang historis.
Apakah Datastream menjamin pengiriman tepat satu kali? Tidak. Datastream adalah pengiriman minimal satu kali. Metadata tambahan yang ditulis Datastream ke setiap peristiwa dapat digunakan untuk menghapus data duplikat.
Dapatkah Datastream menangani database terenkripsi? Ya.
Dapatkah Datastream melakukan streaming tabel dan kolom tertentu dari sumber? Ya. Dengan Datastream, Anda dapat menentukan daftar sertakan dan kecualikan untuk tabel dan skema, untuk mengalirkan hanya data yang Anda inginkan dari sumber ke tujuan. Untuk tabel yang disertakan, Anda dapat mengecualikan kolom tertentu dari tabel untuk menyempurnakan data yang ingin di-streaming ke tujuan. Namun, tampilan terwujud tidak dapat direplikasi.
Bagaimana cara memindahkan aliran ke project atau region lain?
  1. Buat aliran data di project atau region baru dengan konfigurasi yang sama seperti aliran data yang ada, tetapi jangan centang kotak Isi ulang data historis.
  2. Mulai aliran data yang Anda buat.
  3. Setelah streaming yang Anda buat memiliki status RUNNING, jeda streaming yang ada.
  4. Secara opsional, ubah aliran baru dengan mencentang kotak Isi ulang data historis. Data yang ada di tabel yang ditambahkan ke aliran pada masa mendatang akan di-streaming dari sumber ke tujuan.
Bagaimana cara Datastream menangani transaksi yang belum 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 manipulasi data (DML) "terbalik". Misalnya, operasi INSERT yang di-roll back akan memiliki operasi DELETE yang sesuai. Datastream membaca operasi ini dari file log.
Apa ketersediaan regional Datastream?

Untuk melihat daftar region tempat Datastream tersedia, lihat Daftar yang diberi akses 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 for PostgreSQL, SQL Server, Salesforce (Pratinjau), dan MongoDB (Pratinjau), 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 log ulangi Oracle.

Untuk PostgreSQL dan AlloyDB untuk PostgreSQL, Datastream mengandalkan fitur decoding logis PostgreSQL. Decoding logis mengekspos semua perubahan yang dilakukan pada 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 batasan pada data yang dapat diproses Datastream?

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

Batasan umum meliputi:

  • 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:
    • Melepas 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 tepat, dan data dapat rusak.
    • Penghapusan bertingkat diabaikan.
    • Pemangkasan 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 mencakup metadata peristiwa yang dapat digunakan untuk menetapkan pengurutan dan memastikan pengiriman tepat sekali.
Apakah Datastream menjamin pengurutan? Meskipun tidak menjamin pengurutan, Datastream memberikan metadata tambahan untuk setiap peristiwa. Metadata ini dapat digunakan untuk memastikan konsistensi akhir di tujuan. Bergantung pada sumber, kecepatan dan frekuensi perubahan, serta parameter lainnya, konsistensi akhir umumnya dapat dicapai dalam jangka waktu 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 menormalisasinya menjadi jenis terpadu Datastream.

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

Bagaimana Datastream menangani perubahan struktur (skema) di sumber? Datastream mengambil skema dari sumber secara berkala. Skema disimpan di registry skema internal Datastream, dan setiap peristiwa mereferensikan skema pada saat peristiwa tersebut dibuat. Hal ini memungkinkan Datastream melacak perubahan skema dan menyesuaikan berdasarkan perubahan ini, 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? Aliran data tidak menghapus kolom di tujuan. Anda harus menghapus kolom secara manual. Perilaku ini disengaja, karena dalam beberapa kasus, Anda mungkin lebih memilih untuk menyimpan 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 saya yakin ini adalah error atau saya ingin mencoba menjalankan streaming terlepas dari hal tersebut. Bagaimana cara melewati validasi ini? Anda dapat memulai streaming menggunakan API dengan menambahkan tanda force=true dan melewati pemeriksaan validasi. Perhatikan bahwa melewati validasi tidak menjamin bahwa streaming akan dapat berjalan, dan streaming mungkin masih gagal jika database tidak memiliki konfigurasi atau izin yang diperlukan.
Dapatkah saya memulai ulang aliran data 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 aliran 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 pada saat yang sama? Tidak. Batas yang disebutkan adalah per streaming. Anda dapat memiliki beberapa aliran 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 di 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 pengambilan data perubahan untuk MySQL di Datastream.

Organisasi Anda tidak mengizinkan pemberian izin SELECT pada 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 izin SELECT-nya Anda berikan.
  • 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 log ulangi Oracle.
Apakah Datastream memerlukan lisensi GoldenGate dari Oracle? Tidak. Datastream tidak memerlukan lisensi GoldenGate karena menggunakan Oracle LogMiner untuk membaca data dari log ulangi 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 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 Database Kontainer (CDB) dan Database yang Dapat Dicocokkan (PDB)? Ya, Datastream mendukung arsitektur multi-tenant Oracle (CDB/PDB), tetapi Anda hanya dapat mereplikasi satu database yang dapat di-plug dalam stream.
Organisasi Anda tidak mengizinkan pemberian izin GRANT SELECT ANY TABLE. Apakah Anda masih dapat menggunakan Datastream?

Jika Anda 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 streaming.

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 pedoman konfigurasi.
Apakah Datastream mendukung database Oracle SCAN RAC? Ya, benar. Namun, Anda tidak dapat membuat konektivitas langsung ke database menggunakan fitur Nama Akses Klien Tunggal (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 Keamanan Tingkat Baris (RLS)? Datastream tidak mendukung replikasi tabel dengan RLS diaktifkan. Namun, Anda dapat melewati batasan ini dengan 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 lewati kebijakan RLS-nya.

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 sejumlah besar data dari database sumber, slot replikasi mungkin kelebihan beban dengan peristiwa penghapusan. Perubahan selanjutnya pada sumber akan tertunda 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 pengambilan data perubahan. 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 perlindungan pemangkasan saat menggunakan log transaksi? Saat Anda mereplikasi data dari sumber SQL Server menggunakan log transaksi, jika log terpotong sebelum dibaca oleh Datastream, data akan hilang. Mengubah interval polling dan menyiapkan pengamanan pemotongan bersifat opsional, tetapi memberikan lapisan perlindungan tambahan untuk memastikan Datastream dapat membaca data meskipun terjadi masalah konektivitas atau periode nonaktif. 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.
  • Ubah tabel: 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 itu org Salesforce? Organisasi Salesforce, yang juga disebut sebagai org, adalah deployment Salesforce khusus Anda, 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 entitas class, dan mirip dengan tabel dalam nomenklatur database relasional. Data tersebut dapat berupa data standar atau kustom. Objek standar disertakan di Salesforce secara default, sedangkan objek kustom dibuat oleh pengguna untuk menyimpan data khusus untuk kasus penggunaan mereka.

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

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

Perilaku tujuan BigQuery

Pertanyaan Jawaban
Bagaimana cara kerja Datastream dan BigQuery bersama-sama untuk mereplikasi perubahan dari database sumber? Datastream terus membaca aliran perubahan dari database sumber, dan melakukan streaming peristiwa upsert dan delete ke tabel tujuan BigQuery menggunakan Storage Write API. Kemudian, BigQuery menerapkan perubahan pada tabel berdasarkan konfigurasi keterlambatan tabel.
Bagaimana operasi Bahasa Pengolahan Data (DML) diterapkan di BigQuery?
  • Dalam mode Khusus penambahan, data ditambahkan di BigQuery sebagai aliran perubahan, dengan baris terpisah untuk setiap peristiwa INSERT, UPDATE-INSERT, UPDATE-DELETE, dan DELETE.
  • Dalam mode Gabungkan (default), saat 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 pokok berdasarkan kunci utama tabel sumber. Jika tabel sumber tidak memiliki kunci utama, tabel tersebut diperlakukan seolah-olah mode Khusus penambahan digunakan.
Bagaimana 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 aliran.
Bagaimana biaya BigQuery dihitung saat digunakan dengan Datastream? Biaya BigQuery dihitung dan ditagihkan secara terpisah dari Datastream. Untuk mempelajari cara mengontrol biaya BigQuery, lihat Harga BigQuery CDC.
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 diberi awalan _. Dapatkah Anda mengubah perilaku ini sehingga tabel di BigQuery mengikuti struktur yang sama seperti yang ada 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 dipetakan ke set data di BigQuery, dan semua tabel dalam skema sumber dipetakan ke tabel dalam set data. Jika Anda memilih opsi satu set data untuk semua skema, nama tabel akan diberi awalan _, sesuai dengan konvensi penamaan tabel di BigQuery.
Dapatkah CDC merekam perubahan skema sumber, misalnya, saat kolom disisipkan atau dihapus di sumber? Apakah perubahan tersebut otomatis tercermin dalam tabel yang sudah terisi 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 secara unik mengidentifikasi data dalam log pengulangan.
  • ssn (nomor urut SQL), yang digunakan saat data dalam log redo terlalu panjang. Oleh karena itu, Oracle LogMiner membagi rekaman menjadi beberapa baris.

Untuk sumber MySQL:

  • log_file, tempat Datastream menarik peristiwa dalam replikasi CDC.
  • log_position, yang mengidentifikasi offset rekaman dalam log biner MySQL.

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 rekaman 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 menangani pembaruan kunci utama? Apakah ada informasi sebelum dan setelah dalam acara? 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 aliran.
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 menggunakan 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 Datastream yang paling umum adalah:

  1. Analytics: Dengan mereplikasi data secara 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 atas data mereka. Hal ini dapat digunakan, misalnya, untuk memantau sistem dan mendapatkan insight terbaru tentang kondisi 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 data sumber yang terbaru di database ini. Anda dapat menggunakan data yang terus diperbarui ini di database tujuan untuk migrasi database dengan waktu non-operasional rendah dari sumber ke tujuan, atau untuk konfigurasi hybrid cloud, di mana sumber dan tujuan berada di lingkungan hosting yang berbeda.
  3. Arsitektur berbasis peristiwa: Arsitektur berbasis microservice modern mengandalkan hub data pusat yang diperbarui dengan peristiwa secara berkelanjutan 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 penggunaan data peristiwa dari tujuan ini.

Integrasi

Pertanyaan Jawaban
Bagaimana cara Datastream terintegrasi dengan Google Cloud layanan data?

Datastream melengkapi dan meningkatkan kualitas rangkaian data Google Cloud dengan menyediakan replikasi data CDC dari sumber ke berbagai layanan Google Cloud . Dengan terintegrasi 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 berkelanjutan (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 dari template ini adalah untuk mempertahankan tabel sumber yang direplikasi dan selalu terbaru di tujuan. Template tersedia di UI Dataflow, dan dibuat untuk file yang dihasilkan Datastream untuk pemrosesan langsung.
  • Cloud Storage: Datastream terintegrasi dengan Cloud Storage dengan menuliskannya sebagai tujuan streaming streaming.
  • Cloud SQL dan Spanner: dengan menggunakan template Datastream dan Dataflow, Anda dapat mempertahankan tabel yang direplikasi dan selalu terbaru di database.
Apakah template Datastream-to-BigQuery di Dataflow memiliki batasan untuk jumlah operasi bahasa pengolahan data (DML)? Tidak. Template ini menggunakan streaming API penyisipan 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 dienkripsi secara default dan memanfaatkan kontrol keamanan BigQuery atau Cloud Storage. Semua data yang di-buffer oleh Datastream dienkripsi saat 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 disetujui: Metode ini memberi Anda konektivitas publik dengan memasukkan alamat IP regional Datastream ke dalam daftar yang disetujui di sumber. Saat Anda membuat streaming, 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 Clouddi 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 spesifik (skema, tabel, dan kolom) dari sumber yang ingin Anda alirkan ke tujuan, dan elemen yang ingin Anda kecualikan dari pengaliran.

Log database dapat berisi data perubahan dari elemen yang dikecualikan dalam definisi streaming 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 dalam pengiriman dan dalam penyimpanan, dan Google menyimpannya di sistem penyimpanan eksklusifnya. Akses ke metadata ini dilacak dan diaudit.
Mengapa halaman Buat konfigurasi konektivitas pribadi 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? Tidak, Datastream tidak mendukung 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 pengisian ulang tabel selesai.
Latensi terkadang meningkat, lalu menurun secara bertahap dari waktu ke waktu. Apakah ini sudah diperkirakan? Aliran data akan otomatis di-scale up 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 sementara dalam latensi dapat terjadi jika ada peningkatan signifikan dalam throughput peristiwa, dan akan menurun secara bertahap saat backlog peristiwa diproses.

Harga

Pertanyaan Jawaban
Bagaimana harga Datastream ditentukan?

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

Untuk mempelajari informasi harga Datastream lebih lanjut, 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 ini menangani masalah umum yang mungkin Anda hadapi saat menggunakan Datastream.

Langkah berikutnya