FAQ

Ringkasan

Di halaman ini, Anda akan menemukan jawaban atas pertanyaan umum (FAQ) terkait 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 tujuan BigQuery
  • Perilaku tujuan Cloud Storage
  • Kasus penggunaan umum penggunaan Datastream
  • Cara Datastream terintegrasi dengan layanan data Google Cloud
  • 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) tanpa server dan mudah digunakan. Datastream memungkinkan replikasi data yang lancar dari sumber database relasional seperti AlloyDB for PostgreSQL, PostgreSQL, MySQL, SQL Server, dan Oracle, langsung ke BigQuery. Datastream menawarkan skala, kecepatan, keamanan, dan kesederhanaan yang dibutuhkan bisnis modern. Dengan arsitektur penskalaan otomatis tanpa server, Datastream memungkinkan Anda dengan mudah menyiapkan pipeline ELT (Ekstrak, Muat, dan Transformasi) untuk replikasi data berlatensi rendah yang memungkinkan insight mendekati real-time.

Datastream juga memiliki kemampuan untuk menyinkronkan aliran data di berbagai database dan aplikasi heterogen dengan andal dan dengan latensi minimal. Layanan ini menawarkan integrasi yang disederhanakan dengan template Dataflow untuk mereplikasi database ke dalam Cloud SQL atau Spanner untuk sinkronisasi database, atau memanfaatkan aliran peristiwa langsung dari Cloud Storage untuk mewujudkan arsitektur berbasis peristiwa. Selain itu, Datastream terintegrasi dengan Cloud Data Fusion bagi pelanggan yang ingin membangun pipeline data dengan transformasi ke BigQuery.

Metode apa yang digunakan Datastream untuk mengalirkan data? Aliran data mengalirkan data dari sumber ke tujuan dengan salah satu dari dua metode berikut:
  • CDC: Mencatat perubahan yang sedang berlangsung dari sumber secara real time.
  • Isi ulang: Memberikan ringkasan historis dari data yang ada dalam tabel.
Apa itu CDC?

CDC adalah pendekatan untuk integrasi data yang memungkinkan Anda mengintegrasikan dan menganalisis data lebih cepat, dengan menggunakan lebih sedikit sumber daya sistem. Metode ini hanya mengambil perubahan terbaru (update, menyisipkan, atau menghapus) dari sumber data, sering kali dengan membaca log perubahan yang disimpan sumber untuk integritas transaksi 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 update pemuatan massal dan periode batch yang tidak nyaman dengan mengaktifkan pemuatan inkremental atau streaming perubahan data yang mendekati real-time ke tujuan data.

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

Apa itu isi ulang?

Selain perubahan yang sedang berlangsung, Datastream juga menggunakan pengisian ulang untuk menarik semua data yang ada dari sumber, lalu mengalirkan data ke tujuan. Akibatnya, tujuan tersebut "diisi ulang" dengan semua data historis dari sumbernya. 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 batch tujuan per batch.
  • Full dump: 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 informasi tentang batasan pengisian ulang, lihat halaman batasan umum untuk masing-masing jenis sumber:

Apa urutan yang disarankan untuk CDC dan operasi isi ulang? Umumnya, tidak ada pertimbangan khusus di sini. Saat pengisian ulang diaktifkan di streaming, 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 aliran data.
Dapatkah saya memantau status CDC dan operasi pengisian ulang?

Anda dapat memantau status pengisian ulang per objek:

  1. Di konsol Google Cloud, buka halaman Forum.
  2. Klik streaming yang ingin Anda pantau.
  3. Klik tab Objects.

Status CDC adalah status streaming secara efektif. 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 itu aliran perubahan versus replikasi?

Aliran perubahan adalah urutan peristiwa yang dimunculkan Datastream ke tujuan untuk tujuan pemakaian downstream. Hasil dari aliran data perubahan yang ditulis ke Cloud Storage adalah sekumpulan 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 terbaru tabel sumber di tujuan secara 1:1. Misalnya, tabel di Oracle yang perubahannya direplikasi secara terus-menerus ke tabel BigQuery, di mana tabel BigQuery terus diperbarui menggunakan perubahan yang di-streaming dari tabel Oracle. Replikasi memanfaatkan aliran perubahan dengan memakai 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 mengambil peristiwa aliran data perubahan dari Cloud Storage dan memperbarui tabel tujuan yang sesuai.

Apakah Datastream memerlukan agen di sumbernya? Anda tidak perlu menginstal agen di sumber. Datastream menggunakan antarmuka yang sudah 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 stream. Mungkin ada beberapa pertimbangan bisnis terkait penggunaan aliran data yang berbeda untuk alur logika yang berbeda, tetapi setiap aliran data akan menambahkan beban pada database sumber. Beban tersebut dapat diabaikan untuk CDC, tetapi bisa signifikan untuk pengisian ulang.
Bagaimana dengan dampak performa penggunaan Datastream pada database produksi?

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

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

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 akan ditulis ke tujuan.
Apakah Datastream juga dapat 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, ketika mengonfigurasi streaming, Anda dapat memilih untuk menonaktifkan pengisian ulang historis.
Apakah Datastream menjamin pengiriman tepat satu kali? Tidak. Datastream hanya dikirim satu kali. Metadata tambahan yang ditulis Datastream ke setiap peristiwa dapat digunakan untuk menghapus data duplikat.
Dapatkah Datastream menangani database terenkripsi? Ya.
Dapatkah Datastream mengalirkan tabel dan kolom tertentu dari suatu sumber? Ya. Dengan Datastream, Anda dapat menentukan daftar sertakan dan kecualikan untuk tabel dan skema, untuk hanya mengalirkan data yang Anda inginkan dari sumber ke tujuan. Untuk tabel yang disertakan, Anda dapat mengecualikan kolom tabel tertentu untuk lebih menyesuaikan dengan tepat data mana 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 sudah 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. Anda juga dapat mengubah aliran data baru dengan mencentang kotak Isi ulang data historis. Data yang sudah ada dalam tabel yang ditambahkan ke aliran data pada masa mendatang akan di-streaming dari sumber ke tujuan.
Bagaimana Datastream menangani transaksi yang tidak di-commit dalam file log database? Jika file log database berisi transaksi yang tidak di-commit, jika ada transaksi yang di-roll back, maka database mencerminkan hal ini dalam file log sebagai operasi bahasa manipulasi data (DML) "terbalik". Misalnya, operasi INSERT yang di-rollback akan memiliki operasi DELETE yang sesuai. Datastream membaca operasi ini dari file log.
Bagaimana ketersediaan regional Datastream?

Untuk melihat listingan region tempat Datastream tersedia, lihat Daftar dan wilayah yang diizinkan 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, dan SQL Server, baik yang dihosting di cloud maupun yang dikelola sendiri. Untuk 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 dekode logis PostgreSQL. Dekoder logis mengekspos semua perubahan yang di-commit ke database dan memungkinkan penggunaan dan pemrosesan perubahan ini.

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

Dapatkah Anda menyalin file log langsung dari sumber ke Google Cloud? Datastream tidak menyalin keseluruhan file log, tetapi membuat kueri file log langsung dari server database, dan hanya mereplikasi perubahan dari tabel tertentu ke tujuan.
Apa batasan pada data yang dapat diproses Datastream?

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

Batasan umum meliputi:

  • Throughput: ~5 Mbps dengan batas ukuran baris maksimum 30 MB untuk tujuan Cloud Storage dan batas ukuran baris 10 MB untuk BigQuery.
  • Beberapa operasi bahasa definisi data (DDL) tidak didukung selama replikasi, termasuk:
    • Meletakkan sebuah kolom dari tengah tabel. Hal ini dapat menyebabkan perbedaan data karena nilai dikaitkan dengan kolom yang salah.
    • Mengubah tipe data kolom. Hal ini dapat menyebabkan perbedaan data karena data tidak dipetakan dengan benar ke jenis terpadu Datastream yang benar, dan data mungkin rusak.
    • Penghapusan bertahap akan diabaikan.
    • Pemotongan tabel diabaikan.

Untuk batasan khusus sumber, lihat halaman berikut:

Data mana 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 dan nilai data setiap kolom. Setiap peristiwa juga menyertakan metadata peristiwa yang dapat digunakan untuk menetapkan pengurutan dan memastikan pengiriman tepat satu kali.
Apakah Datastream menjamin pemesanan? Meskipun Datastream tidak menjamin pengurutan, data ini 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 periode 1 jam.
Apakah Datastream menjamin pengiriman tepat satu kali? Datastream adalah pengiriman minimal satu kali. Anda dapat menghapus data duplikat dengan menggunakan metadata tambahan yang ditulis Datastream ke setiap peristiwa.
Bagaimana Datastream menampilkan 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 menormalisasi jenisnya menjadi jenis terpadu Datastream.

Jenis terpadu mewakili superset tanpa kerugian dari semua jenis sumber yang mungkin, dan normalisasi berarti data dari berbagai sumber dapat diproses dengan mudah dan dikueri downstream dengan cara yang tidak bergantung pada sumber.

Bagaimana Datastream menangani perubahan struktur (skema) dalam sumber? Datastream mengambil skema dari sumber secara berkala. Skema disimpan di registry skema internal Datastream, dan setiap peristiwa mereferensikan skema pada saat skema tersebut dibuat. Hal ini memungkinkan Datastream melacak perubahan skema dan melakukan penyesuaian berdasarkan perubahan ini, memastikan bahwa 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 (melepaskan) kolom di database sumber, tetapi kolom tersebut masih muncul di tujuan saya. Mengapa demikian? Aliran data tidak menghapus kolom di tujuan. Anda harus menghapus kolom secara manual. Perilaku ini disengaja, karena dalam beberapa kasus, Anda mungkin lebih suka mempertahankan kolom yang dihapus tersebut di tujuan. Misalnya, Datastream menafsirkan penggantian nama kolom di sumber sebagai penghapusan kolom dan penambahan kolom lain. Dalam kasus ini, Anda tidak ingin kehilangan kolom asli di tujuan.
Streaming gagal dimulai karena kegagalan validasi, tetapi menurut saya ini adalah kesalahan atau saya tetap ingin mencoba menjalankan streaming. Bagaimana cara melewati validasi ini? Anda dapat memulai streaming menggunakan API dengan menambahkan tanda force=true dan melewati pemeriksaan validasi. Perlu diperhatikan bahwa melewatkan validasi tidak menjamin bahwa streaming 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 streaming 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 streaming 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 stream dengan jumlah total tabel melebihi 10.000 tabel.

Perilaku dan batasan sumber MySQL

Pertanyaan Jawaban
Bagaimana 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 berikut:


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

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

Izin apa yang setidaknya 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 agar dapat menggunakan fungsi pengambilan data perubahan untuk MySQL di Datastream.

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

Anda dapat memberikan izin SELECT ke tabel tertentu yang ingin Anda replikasi 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 diberi izin SELECT.
  • USER_NAME: Nama pengguna yang diberi 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 Datastream mendapatkan data dari Oracle? Datastream menggunakan Oracle LogMiner untuk mengekstrak data dari log pengulangan Oracle.
Apakah Datastream memerlukan lisensi GoldenGate dari Oracle? Tidak. Datastream tidak memerlukan lisensi GoldenGate karena menggunakan Oracle LogMiner untuk membaca data dari log pengulangan database.
Apa yang terjadi jika Oracle LogMiner tidak didukung lagi? 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 saat pengiriman dari database Oracle?

Datastream mendukung enkripsi data selama 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 yang dienkripsi 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), tetapi Anda hanya dapat mereplikasi satu database yang dapat dicocokkan dalam satu streaming.
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 mengalirkan 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 tersebut dikonfigurasi sesuai dengan panduan konfigurasi.
Apakah Datastream mendukung database Oracle SCAN RAC? Ya, tentu saja. 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 Datastream mendapatkan data dari PostgreSQL? Datastream menggunakan fitur dekode logis PostgreSQL untuk mengekstrak peristiwa perubahan dari PostgreSQL
Apakah Datastream mendukung replikasi dari AlloyDB untuk sumber PostgreSQL atau AlloyDB Omni? Ya. Datastream mendukung kedua sumber ini. Untuk informasi tentang cara mengonfigurasi database AlloyDB untuk PostgreSQL sumber, lihat Mengonfigurasi database AlloyDB untuk PostgreSQL. Untuk informasi tentang cara mengonfigurasi database AlloyDB Omni sumber, lihat Mengonfigurasi database PostgreSQL yang dikelola sendiri.
Apakah Datastream mendukung replikasi dari instance replika baca PostgreSQL? Instance replika baca tidak dapat bertindak sebagai penayang untuk replikasi logis karena PostgreSQL tidak mendukung decoding logis dalam replika baca.
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 kebijakan RLS-nya ingin Anda abaikan.

Apakah Datastream mendukung operasi CDC serentak saat mereplikasi dari sumber PostgreSQL? Tidak. Replikasi PostgreSQL bergantung pada konsep slot replikasi, dan slot replikasi tidak mendukung koneksi serentak. Hanya ada satu tugas CDC yang bisa dibaca dari slot replikasi pada satu waktu. Misalnya, jika Anda menghapus sejumlah besar kumpulan 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.
Apakah Datastream mendukung enkripsi Secure Sockets Layer (SSL) dan Transport Layer Security (TLS)?

Datastream mendukung koneksi terenkripsi SSL/TLS yang tidak memerlukan sertifikat klien.

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 Datastream CDC untuk sumber SQL Server? Proses penyerapan data Datastream menggunakan log transaksi, bukan tabel berbasis Microsoft CDC. Pendekatan ini mengurangi beban pada database sambil mempertahankan pengambilan data yang cepat.
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 MySQL:

  • Izin SELECT pada database, sys.fn_dblog dan sys.fn_dump_dblog
  • VIEW DATABASE STATE
  • VIEW SERVER STATE
  • Pengguna harus merupakan anggota dari peran database tetap db_owner. Untuk informasi tentang cara menambahkan pengguna ke peran tersebut, lihat halaman konfigurasi untuk jenis database SQL Server sumber Anda.
Mengapa Anda memerlukan konfigurasi seperti mengubah interval polling dan menyiapkan pengamanan pemotongan saat mengonfigurasi sumber SQL Server Anda? Saat Anda mereplikasi data dari sumber SQL Server, Datastream melacak perubahan DML 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 bahwa Datastream dapat membaca data bahkan dalam skenario saat terjadi periode nonaktif atau masalah konektivitas. Untuk informasi selengkapnya, lihat Mengonfigurasi database SQL Server sumber.

Perilaku tujuan BigQuery

Pertanyaan Jawaban
Bagaimana Datastream dan BigQuery bekerja sama untuk mereplikasi perubahan dari database sumber? Datastream terus-menerus membaca aliran perubahan dari database sumber, serta mengalirkan peristiwa pembaruan dan penghapusan ke tabel tujuan BigQuery menggunakan Storage Write API. BigQuery kemudian menerapkan perubahan ke tabel berdasarkan konfigurasi pengakhiran tabel.
Bagaimana operasi UPDATE dan DELETE diterapkan di BigQuery? Saat Datastream membuat tabel di BigQuery, Datastream menetapkan kunci utama pada tabel sesuai dengan kunci utama yang ditentukan dalam sumber. BigQuery memproses peristiwa dan menerapkan perubahan pada tabel BigQuery pokok berdasarkan kunci utama tabel.
Bagaimana cara Datastream dan BigQuery menangani tabel yang tidak memiliki kunci utama? Jika tabel sumber tidak memiliki kunci utama, tabel tersebut diperlakukan sebagai hanya tambahan, dan setiap peristiwa untuk baris tertentu akan muncul sebagai baris terpisah di BigQuery.
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 informasi selengkapnya tentang metadata peristiwa, lihat Peristiwa dan feed.
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 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 akan diawali dengan _. Dapatkah Anda mengubah perilaku ini sehingga tabel di BigQuery mengikuti struktur yang sama dengan yang ada di database sumber? Saat mengonfigurasi set data untuk tujuan BigQuery, Anda akan membuat set data untuk setiap skema atau satu set data untuk semua skema. Saat Anda membuat set data untuk setiap skema, setiap skema dalam sumber akan dipetakan ke set data di BigQuery, dan semua tabel dalam skema sumber dipetakan ke tabel dalam set data tersebut. Jika Anda memilih satu set data untuk semua opsi skema, nama tabel akan diawali dengan _, sesuai dengan konvensi penamaan tabel di BigQuery.
Dapatkah CDC mencatat perubahan skema sumber, misalnya, saat kolom disisipkan atau dihapus dalam 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 bukan kolom yang sudah direplikasi ke tujuan. Kolom yang dihapus akan diabaikan, dan Datastream akan mengisinya dengan nilai NULL di tujuan. Anda kemudian dapat menghapus kolom tersebut secara manual di BigQuery.

Perilaku tujuan Cloud Storage

Pertanyaan Jawaban
Bagaimana cara file dibuat di Cloud Storage? Datastream membuat folder untuk setiap tabel. Dalam 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 peristiwa tersebut dapat diurutkan ulang 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 kumpulan kumpulan data), yang sebenarnya terdiri dari tiga nilai (misalnya, 0x0073c9.000a4e4c.01d0). rs_id secara unik mengidentifikasi kumpulan data dalam log pengulangan.
  • ssn (nomor urut SQL), yang digunakan saat catatan dalam log pengulangan terlalu panjang. Karena itu, Oracle LogMiner membagi data menjadi beberapa baris.

Untuk sumber MySQL:

  • log_file, tempat Datastream menarik peristiwa dalam replikasi CDC.
  • log_position, yang mengidentifikasi offset data 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 identik, bandingkan nilai lsn.
  • lsn (nomor urut log), yang mengidentifikasi offset data dalam file log WAL.

Untuk informasi selengkapnya tentang kolom metadata, lihat Metadata spesifik per sumber.

Jika beberapa file dibuat untuk stempel waktu yang sama, dalam urutan mana file tersebut harus diproses? Karena pengurutan di dalam dan di seluruh file tidak dijamin, cara terbaik untuk menentukan urutan pemrosesan file bagi sumber adalah mendapatkan semua peristiwa dari semua file untuk stempel waktu tertentu, lalu menerapkan pengurutan menggunakan metode yang disebutkan sebelumnya di bagian ini.
Bagaimana update kunci utama ditangani? Apakah ada informasi sebelum dan sesudah dalam peristiwa? Saat kunci utama baris berubah, Datastream menghasilkan dua peristiwa untuk perubahan tersebut: UPDATE-DELETE dan UPDATE-INSERT. Peristiwa UPDATE-DELETE mewakili data sebelum update dan UPDATE-INSERT mewakili data setelah update. Untuk 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 30 MB.

Kasus penggunaan

Pertanyaan Jawaban
Apa saja kasus penggunaan umum untuk menggunakan Datastream?

Datastream adalah layanan CDC dan replikasi, yang berarti fleksibel di berbagai kasus penggunaan yang dapat memanfaatkan akses ke data perubahan streaming secara terus-menerus. 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 pada 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 untuk data sumber di database ini. Anda dapat menggunakan data yang terus diperbarui ini di database tujuan untuk migrasi database dengan periode nonaktif yang rendah dari sumber ke tujuan, atau untuk konfigurasi hybrid cloud, tempat sumber dan tujuan berada di lingkungan hosting yang berbeda.
  3. Arsitektur berbasis peristiwa: Arsitektur berbasis microservice modern mengandalkan hub data terpusat yang diperbarui dengan peristiwa secara terus-menerus dari seluruh organisasi Anda agar berbasis peristiwa. Dengan terus menulis data peristiwa ke dalam tujuan seperti BigQuery dan Cloud Storage, Anda dapat membuat 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 kualitas suite data Google Cloud dengan menyediakan replikasi data CDC dari sumber ke berbagai layanan Google Cloud. Dengan berintegrasi secara lancar dengan layanan ini, Datastream akan masuk ke dalam ekosistem Google Cloud yang lebih besar.

Datastream terintegrasi dengan layanan data berikut:

  • BigQuery: Datastream menggunakan BigQuery Write API untuk berintegrasi dengan BigQuery secara langsung. Datastream menulis peristiwa perubahan secara langsung ke set data BigQuery tempat perubahan digabungkan secara terus-menerus (UPSERT) dengan data yang ada.
  • Dataflow: Datastream terintegrasi 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 replika terbaru di tujuan. Template tersedia di UI Dataflow, dan dibuat untuk file yang dihasilkan Datastream untuk pemrosesan siap pakai.
  • Cloud Data Fusion: Datastream terintegrasi dengan Cloud Data Fusion dengan mendukung konektor Oracle melalui fitur replikasi Cloud Data Fusion. Anda dapat membuat sumber Oracle replikasi yang "didukung" Datastream secara transparan untuk membangun pipeline data dengan mudah. Pipeline ini mencakup transformasi lengkap untuk data Oracle yang di-streaming Datastream ke Cloud Data Fusion.
  • 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 replikasi terbaru dalam database.
Apakah template Datastream-to-BigQuery di Dataflow memiliki batasan untuk jumlah operasi bahasa manipulasi data (DML)? Tidak. Template menggunakan streaming inserts API 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 adalah 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. Setiap 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 diizinkan: Metode ini memberi Anda konektivitas publik dengan mengizinkan alamat IP regional Datastream di sumber. Saat Anda membuat streaming, Datastream akan menampilkan alamat IP ini di UI.
  • Forward SSH tunnel: Metode ini memberi Anda konektivitas aman melalui jaringan publik dengan memanfaatkan bastion SSH yang dikonfigurasi pelanggan, selain menambahkan alamat IP regional yang diizinkan.
  • Konektivitas pribadi melalui peering VPC: Gunakan metode ini untuk terhubung ke database yang dihosting Google Cloud melalui jaringan internal Google Cloud, atau manfaatkan 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 Datastream?

Datastream memungkinkan menentukan elemen data tertentu (skema, tabel, dan kolom) sumber yang ingin di-streaming ke tujuan, dan elemen mana yang ingin dikecualikan agar tidak di-streaming.

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

Bagaimana Datastream menjaga keamanan kredensial database? Semua metadata pengguna (termasuk nama pengguna dan sandi yang digunakan untuk mengakses sumber data) dienkripsi saat dalam pengiriman dan penyimpanan. Akses ke metadata ini dilacak dan diaudit.
Mengapa halaman Membuat 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 khusus berikut:

Pilih 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 menyediakan informasi tentang statusnya saat ini dalam file log. Entri log dibuat untuk menunjukkan kapan tabel selesai diisi ulang.
Latensi terkadang naik lalu berangsur menurun seiring waktu. Apakah ini yang diharapkan? Datastream meningkatkan skala secara otomatis saat throughput peristiwa yang dihasilkan oleh sumber meningkat. Namun, untuk melindungi database sumber serta Datastream, ada batasan jumlah koneksi dan proses serentak yang dapat dibuka Datastream kapan saja. Lonjakan sementara dalam latensi diperkirakan akan terjadi saat ada peningkatan throughput peristiwa yang signifikan, dan diperkirakan akan menurun secara bertahap saat backlog peristiwa diproses.

Harga

Pertanyaan Jawaban
Bagaimana harga Datastream?

Harga aliran data ditentukan berdasarkan volume (GB) data yang di-streaming dari sumber Anda ke suatu tujuan.

Untuk mempelajari lebih lanjut informasi harga untuk Datastream, lihat Harga.

Bagaimana Anda menghitung ukuran data? Penagihan dihitung berdasarkan ukuran data mentah (tidak dikompresi) yang di-streaming dari sumber ke tujuan. Datastream hanya mengenakan biaya untuk data yang di-streaming ke tujuan.
Jika Anda menggunakan Datastream dengan BigQuery, Dataflow, atau Cloud Data Fusion, apa yang Anda bayar? Setiap layanan diberi harga dan dikenakan biaya 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.