Halaman ini menjelaskan cara membuat, mengubah, dan melihat aliran data perubahan Spanner. Untuk mempelajari aliran perubahan lebih lanjut, lihat Tentang aliran perubahan.
Karena aliran perubahan adalah objek skema, Anda dapat membuat dan mengelolanya melalui pembaruan skema berbasis DDL yang sama dengan yang digunakan untuk jenis pekerjaan definisi database lainnya, seperti membuat tabel atau menambahkan indeks.
Spanner memulai operasi yang berjalan lama setelah Anda mengirimkan pernyataan DDL yang mengubah skema, termasuk yang digunakan untuk membuat, mengubah, atau menghapus aliran perubahan. Aliran data perubahan baru atau yang diubah akan mulai melihat kolom atau tabel yang ditentukan oleh konfigurasi barunya setelah operasi yang berjalan lama ini selesai.
Membuat aliran perubahan
Untuk membuat aliran perubahan, Anda harus menyediakan namanya dan objek skema yang akan dipantaunya: seluruh database atau daftar tabel dan kolom tertentu. Secara opsional, Anda dapat menentukan hal berikut:
- periode retensi untuk mengganti periode retensi default satu hari
- jenis pengambilan nilai untuk mengganti jenis pengambilan nilai default
OLD_AND_NEW_VALUES
. - Filter penghapusan berbasis TTL jika Anda ingin memfilter penghapusan berbasis TTL dari aliran data perubahan
mengecualikan perubahan tabel untuk mengecualikan semua modifikasi tabel
INSERT
,UPDATE
, atauDELETE
GoogleSQL
Sintaksis DDL untuk membuat aliran perubahan menggunakan GoogleSQL terlihat seperti ini:
CREATE CHANGE STREAM change_stream_name [FOR column_or_table_watching_definition[, ... ] ] [ OPTIONS ( retention_period = timespan, value_capture_type = type, exclude_ttl_deletes = boolean, exclude_insert = boolean, exclude_update = boolean, exclude_delete = boolean ) ]
PostgreSQL
Sintaksis DDL untuk membuat aliran perubahan menggunakan PostgreSQL terlihat seperti ini:
CREATE CHANGE STREAM change_stream_name [FOR column_or_table_watching_definition[, ... ] ] [ WITH ( retention_period = timespan, value_capture_type = type, exclude_ttl_deletes = boolean, exclude_insert = boolean, exclude_update = boolean, exclude_delete = boolean ) ]
Aliran data perubahan baru mulai mengamati objek skema yang ditetapkan segera setelah operasi yang berjalan lama yang membuatnya selesai.
Contoh berikut menggambarkan pembuatan aliran perubahan dengan berbagai konfigurasi.
Mengamati seluruh database
Untuk membuat aliran perubahan data yang memantau setiap perubahan data yang dilakukan di seluruh tabel database, gunakan kata kunci ALL
:
CREATE CHANGE STREAM EverythingStream
FOR ALL;
Konfigurasi ALL
secara implisit
menyertakan semua tabel dan kolom data mendatang
dari database, segera setelah dibuat. Library ini tidak
menyertakan tampilan, tabel skema informasi, atau
objek lain selain tabel data normal.
Menonton tabel tertentu
Untuk membatasi cakupan aliran perubahan ke tabel tertentu, bukan seluruh database, tentukan daftar yang berisi satu atau beberapa tabel:
CREATE CHANGE STREAM SingerAlbumStream
FOR Singers, Albums;
Spanner otomatis memperbarui aliran data perubahan yang memantau seluruh tabel untuk mencerminkan perubahan skema yang memengaruhi tabel tersebut, seperti kolom yang ditambahkan atau dihapus.
Menonton kolom tertentu
Gunakan sintaksis table(column_1[, column_2,
...])
untuk mengamati perubahan pada satu atau beberapa kolom non-kunci yang spesifik dalam tabel yang Anda beri nama:
CREATE CHANGE STREAM NamesAndTitles
FOR Singers(FirstName, LastName), Albums(Title);
Anda tidak dapat menentukan kolom kunci utama di sini karena setiap aliran data perubahan selalu melacak kunci utama dari setiap tabel yang dipantau. Hal ini memungkinkan setiap kumpulan data perubahan data untuk mengidentifikasi baris yang diubah berdasarkan kunci utamanya.
Menonton tabel dan kolom dalam satu streaming
Anda dapat menggabungkan sintaksis pengamatan tabel dan pengamatan kolom dari dua contoh sebelumnya dalam satu aliran perubahan:
CREATE CHANGE STREAM NamesAndAlbums
FOR Singers(FirstName, LastName), Albums;
Menentukan periode retensi data yang lebih lama
Untuk menentukan periode retensi data aliran data perubahan
yang lebih lama dari default satu hari, tetapkan retention_period
ke periode
hingga satu minggu, yang dinyatakan sebagai jam (h
) atau hari (d
).
Dua contoh:
GoogleSQL
CREATE CHANGE STREAM LongerDataRetention
FOR ALL
OPTIONS ( retention_period = '36h' );
CREATE CHANGE STREAM MaximumDataRetention
FOR ALL
OPTIONS ( retention_period = '7d' );
PostgreSQL
CREATE CHANGE STREAM LongerDataRetention
FOR ALL
WITH ( retention_period = '36h' );
CREATE CHANGE STREAM MaximumDataRetention
FOR ALL
WITH ( retention_period = '7d' );
Menentukan jenis pengambilan nilai yang berbeda
Untuk menentukan jenis pengambilan nilai aliran data perubahan
selain OLD_AND_NEW_VALUES
, tetapkan value_capture_type
ke
NEW_VALUES
atau NEW_ROW
, seperti yang ditunjukkan dalam contoh berikut:
GoogleSQL
CREATE CHANGE STREAM NewRowChangeStream
FOR ALL
OPTIONS ( value_capture_type = 'NEW_ROW' );
CREATE CHANGE STREAM NewValuesChangeStream
FOR ALL
OPTIONS ( value_capture_type = 'NEW_VALUES' );
PostgreSQL
CREATE CHANGE STREAM NewRowChangeStream
FOR ALL
WITH ( value_capture_type = 'NEW_ROW' );
CREATE CHANGE STREAM NewValuesChangeStream
FOR ALL
WITH ( value_capture_type = 'NEW_VALUES' );
Memfilter penghapusan berbasis TTL
Anda dapat memfilter penghapusan berbasis TTL dari cakupan aliran perubahan menggunakan filter exclude_ttl_deletes
.
Untuk mengetahui informasi selengkapnya tentang cara kerja filter ini, lihat Filter penghapusan berbasis waktu aktif.
GoogleSQL
Untuk membuat aliran data perubahan dengan filter penghapusan berbasis TTL, gunakan perintah berikut:
CREATE CHANGE STREAM CHANGE_STREAM_NAME FOR ALL
OPTIONS (exclude_ttl_deletes = true)
Ganti kode berikut:
- CHANGE_STREAM_NAME: nama aliran perubahan baru
Contoh berikut membuat aliran data perubahan bernama NewFilterChangeStream
yang mengecualikan semua penghapusan berbasis TTL:
CREATE CHANGE STREAM NewFilterChangeStream FOR ALL
OPTIONS (exclude_ttl_deletes = true)
PostgreSQL
Untuk membuat aliran data perubahan dengan filter penghapusan berbasis TTL, gunakan perintah berikut:
CREATE CHANGE STREAM CHANGE_STREAM_NAME FOR ALL
WITH (exclude_ttl_deletes = true)
Ganti kode berikut:
- STREAM_NAME: nama aliran perubahan baru
Contoh berikut membuat aliran data perubahan bernama NewFilterChangeStream
yang mengecualikan semua penghapusan berbasis TTL:
CREATE CHANGE STREAM NewFilterChangeStream FOR ALL
WITH (exclude_ttl_deletes = true)
Untuk menambahkan atau menghapus filter penghapusan berbasis TTL dari aliran data perubahan yang ada, lihat Mengubah filter penghapusan berbasis TTL. Anda dapat mengonfirmasi filter aliran data perubahan dengan melihat definisi aliran perubahan sebagai DDL.
Filter menurut jenis perubahan tabel
Filter satu atau beberapa modifikasi tabel ini dari cakupan aliran perubahan menggunakan opsi filter yang tersedia berikut:
exclude_insert
: mengecualikan semua perubahan tabelINSERT
exclude_update
: mengecualikan semua perubahan tabelUPDATE
exclude_delete
: mengecualikan semua perubahan tabelDELETE
Untuk informasi selengkapnya tentang cara kerja filter ini, lihat Filter jenis modifikasi tabel.
GoogleSQL
Untuk membuat aliran perubahan dengan satu atau beberapa filter jenis perubahan tabel, gunakan perintah berikut:
CREATE CHANGE STREAM CHANGE_STREAM_NAME FOR ALL
OPTIONS (MOD_TYPE_FILTER_NAME = true)
Ganti kode berikut:
- CHANGE_STREAM_NAME: nama aliran perubahan baru
- MOD_TYPE_FILTER_NAME: filter yang ingin Anda
tambahkan:
exclude_insert
,exclude_update
, atauexclude_delete
. Jika menambahkan lebih dari satu filter sekaligus, pisahkan setiap filter dengan koma.
Contoh berikut membuat aliran data perubahan bernama NewFilterChangeStream
yang mengecualikan jenis modifikasi tabel INSERT
dan UPDATE
:
CREATE CHANGE STREAM NewFilterChangeStream FOR ALL
OPTIONS (exclude_insert = true, exclude_update = true)
PostgreSQL
Untuk membuat aliran perubahan dengan satu atau beberapa filter jenis perubahan tabel, gunakan perintah berikut:
CREATE CHANGE STREAM CHANGE_STREAM_NAME FOR ALL
WITH (MOD_TYPE_FILTER_NAME = true)
Ganti kode berikut:
- CHANGE_STREAM_NAME: nama aliran data perubahan yang ada
- MOD_TYPE_FILTER_NAME: filter yang ingin Anda
tambahkan:
exclude_insert
,exclude_update
, atauexclude_delete
. Jika menambahkan lebih dari satu filter sekaligus, pisahkan setiap filter dengan koma.
Contoh berikut membuat aliran perubahan bernama NewFilterChangeStream
yang mengecualikan jenis transaksi modifikasi tabel INSERT
dan UPDATE
:
CREATE CHANGE STREAM NewFilterChangeStream FOR ALL
WITH (exclude_insert = true, exclude_update = true)
Untuk menambahkan atau menghapus filter jenis perubahan tabel dari aliran data perubahan yang ada, lihat Mengubah filter menurut jenis perubahan tabel. Anda dapat mengonfirmasi filter jenis perubahan tabel yang ada untuk aliran data perubahan dengan melihat definisi aliran perubahan sebagai DDL.
Mengubah aliran data perubahan
Untuk mengubah konfigurasi aliran data perubahan, gunakan pernyataan DDL ALTER CHANGE STREAM
. Kode ini menggunakan sintaksis yang mirip dengan CREATE CHANGE STREAM
. Anda dapat mengubah kolom mana yang dipantau aliran data, atau durasi periode retensi datanya. Anda juga dapat menangguhkan pengamatan sekaligus
sekaligus mempertahankan kumpulan data perubahan datanya.
Mengubah hal yang dipantau oleh streaming perubahan
Contoh ini menambahkan seluruh tabel Songs
ke aliran data perubahan NamesAndAlbums
yang dikonfigurasi sebelumnya:
ALTER CHANGE STREAM NamesAndAlbums
SET FOR Singers(FirstName, LastName), Albums, Songs;
Spanner mengganti perilaku aliran perubahan bernama dengan konfigurasi baru setelah operasi yang berjalan lama selesai, yang memperbarui definisi aliran perubahan dalam skema database.
Mengubah periode retensi data aliran data perubahan
Untuk mengubah durasi waktu aliran data perubahan menyimpan data
internalnya, tetapkan retention_period
dalam pernyataan DDL ALTER CHANGE STREAM
.
Contoh ini menyesuaikan periode retensi data dengan aliran data perubahan NamesAndAlbums
yang dibuat sebelumnya:
GoogleSQL
ALTER CHANGE STREAM NamesAndAlbums
SET OPTIONS ( retention_period = '36h' );
PostgreSQL
ALTER CHANGE STREAM NamesAndAlbums
SET ( retention_period = '36h' );
Mengubah jenis tangkapan nilai aliran data perubahan
Untuk mengubah jenis pengambilan nilai aliran data perubahan, tetapkan klausa value_capture_type
dalam pernyataan DDL ALTER CHANGE STREAM
.
Contoh ini menyesuaikan jenis pengambilan nilai ke NEW_VALUES
.
GoogleSQL
ALTER CHANGE STREAM NamesAndAlbums
SET OPTIONS ( value_capture_type = 'NEW_VALUES' );
PostgreSQL
ALTER CHANGE STREAM NamesAndAlbums
SET ( value_capture_type = 'NEW_VALUES' );
Mengubah filter penghapusan berbasis TTL
Guna mengubah filter penghapusan berbasis TTL untuk aliran data perubahan, tetapkan filter exclude_ttl_deletes
dalam pernyataan DDL ALTER CHANGE STREAM
. Anda dapat menggunakan ini untuk menambahkan filter ke atau menghapus filter dari
aliran perubahan yang ada.
Untuk mengetahui informasi selengkapnya tentang cara kerja filter ini, lihat Filter penghapusan berbasis waktu aktif.
Menambahkan filter penghapusan berbasis TTL ke aliran data perubahan yang ada
GoogleSQL
Untuk menambahkan filter penghapusan berbasis TTL ke aliran data perubahan yang ada, gunakan perintah berikut untuk menetapkan filter ke true
:
ALTER CHANGE STREAM CHANGE_STREAM_NAME FOR ALL
SET OPTIONS (exclude_ttl_deletes = true)
Ganti kode berikut:
- CHANGE_STREAM_NAME: nama aliran data perubahan yang ada
Pada contoh berikut, filter exclude_ttl_deletes
ditambahkan ke aliran perubahan yang sudah ada yang disebut NewFilterChangeStream
: yang mengecualikan semua penghapusan berbasis TTL:
ALTER CHANGE STREAM NewFilterChangeStream FOR ALL
SET OPTIONS (exclude_ttl_deletes = true)
Tindakan ini tidak mencakup semua penghapusan berbasis TTL dari aliran data perubahan.
PostgreSQL
Untuk menambahkan filter penghapusan berbasis TTL ke aliran data perubahan yang ada, gunakan perintah berikut untuk menetapkan filter ke True
:
ALTER CHANGE STREAM STREAM_NAME FOR ALL
SET (exclude_ttl_deletes = true)
Ganti kode berikut:
- STREAM_NAME: nama aliran data perubahan yang ada
Pada contoh berikut, filter exclude_ttl_deletes
ditambahkan ke
aliran perubahan yang sudah ada yang disebut NewFilterChangeStream
:
ALTER CHANGE STREAM NewFilterChangeStream FOR ALL
SET (exclude_ttl_deletes = true)
Tidak termasuk semua penghapusan berbasis TTL di masa mendatang dari aliran data perubahan.
Menghapus filter penghapusan berbasis TTL dari aliran perubahan yang ada
GoogleSQL
Untuk menghapus filter penghapusan berbasis TTL dari aliran data perubahan yang ada, gunakan perintah berikut untuk menetapkan filter ke False
:
ALTER CHANGE STREAM STREAM_NAME FOR ALL
SET OPTIONS (exclude_ttl_deletes = false)
Ganti kode berikut:
- STREAM_NAME: nama aliran perubahan baru
Pada contoh berikut, filter exclude_ttl_deletes
dihapus dari
aliran perubahan yang sudah ada yang disebut NewFilterChangeStream
:
ALTER CHANGE STREAM NewFilterChangeStream FOR ALL
SET OPTIONS (exclude_ttl_deletes = false)
Hal ini termasuk semua penghapusan berbasis TTL di masa mendatang ke aliran data perubahan.
Anda juga dapat menetapkan filter ke null
untuk menghapus filter penghapusan berbasis TTL.
PostgreSQL
Untuk menghapus filter penghapusan berbasis TTL dari aliran data perubahan yang ada, gunakan perintah berikut untuk menetapkan filter ke False
:
ALTER CHANGE STREAM STREAM_NAME FOR ALL
SET (exclude_ttl_deletes = false)
Ganti kode berikut:
- STREAM_NAME: nama aliran perubahan baru
Pada contoh berikut, filter exclude_ttl_deletes
dihapus dari
aliran perubahan yang sudah ada yang disebut NewFilterChangeStream
:
ALTER CHANGE STREAM NewFilterChangeStream FOR ALL
SET (exclude_ttl_deletes = false)
Hal ini termasuk semua penghapusan berbasis TTL di masa mendatang ke aliran data perubahan.
Anda juga dapat menetapkan filter ke null
untuk menghapus filter penghapusan berbasis TTL.
Ubah filter menurut jenis perubahan tabel
Untuk mengubah filter jenis modifikasi tabel untuk aliran data perubahan,
tetapkan jenis filter dalam pernyataan DDL ALTER CHANGE STREAM
. Anda dapat menggunakannya untuk menambahkan filter baru atau menghapus filter yang ada dari aliran data perubahan.
Menambahkan filter jenis perubahan tabel ke aliran perubahan yang ada
GoogleSQL
Untuk menambahkan satu atau beberapa filter jenis perubahan tabel baru ke aliran data perubahan yang ada, gunakan cara berikut untuk menetapkan filter ke true
:
ALTER CHANGE STREAM CHANGE_STREAM_NAME
SET OPTIONS (MOD_TYPE_FILTER_NAME = true)
Ganti kode berikut:
- CHANGE_STREAM_NAME: ganti dengan nama aliran data perubahan yang ada
- MOD_TYPE_FILTER_NAME: ganti dengan filter yang ingin Anda
tambahkan:
exclude_insert
,exclude_update
, atauexclude_delete
. Jika menambahkan lebih dari satu filter sekaligus, pisahkan setiap filter dengan koma.
Pada contoh berikut, filter exclude_delete
ditambahkan ke aliran perubahan
yang sudah ada yang disebut NewFilterChangeStream
:
ALTER CHANGE STREAM NewFilterChangeStream
SET OPTIONS (exclude_delete = true)
PostgreSQL
Untuk menambahkan satu atau beberapa filter jenis perubahan tabel baru ke aliran data perubahan yang ada, gunakan cara berikut untuk menetapkan filter ke true
:
ALTER CHANGE STREAM CHANGE_STREAM_NAME
SET (MOD_TYPE_FILTER_NAME = true)
Ganti kode berikut:
- CHANGE_STREAM_NAME: ganti dengan nama aliran data perubahan yang ada
- MOD_TYPE_FILTER_NAME: ganti dengan filter yang ingin Anda
tambahkan:
exclude_insert
,exclude_update
, atauexclude_delete
. Jika menambahkan lebih dari satu filter sekaligus, pisahkan setiap filter dengan koma.
Pada contoh berikut, filter exclude_delete
ditambahkan ke aliran perubahan
yang sudah ada yang disebut NewFilterChangeStream
:
ALTER CHANGE STREAM NewFilterChangeStream
SET (exclude_delete = true)
Menghapus filter jenis perubahan tabel dari aliran perubahan yang ada
GoogleSQL
Untuk menghapus satu atau beberapa filter jenis perubahan tabel yang ada di aliran data perubahan, gunakan cara berikut untuk menetapkan filter ke false
:
ALTER CHANGE STREAM CHANGE_STREAM_NAME
SET OPTIONS (MOD_TYPE_FILTER_NAME = false)
Ganti kode berikut:
- CHANGE_STREAM_NAME: ganti dengan nama aliran data perubahan yang ada
- MOD_TYPE_FILTER_NAME: ganti dengan filter yang ingin Anda
hapus:
exclude_insert
,exclude_update
, atauexclude_delete
. Jika menghapus lebih dari satu filter sekaligus, pisahkan setiap filter dengan koma.
Pada contoh berikut, filter exclude_delete
dihapus dari aliran perubahan
yang sudah ada yang disebut NewFilterChangeStream
:
ALTER CHANGE STREAM NewFilterChangeStream
SET OPTIONS (exclude_delete = false)
Anda juga dapat menghapus filter modifikasi tabel dengan menetapkan filter kembali ke nilai default. Untuk melakukannya, setel nilai filter ke null
.
PostgreSQL
Untuk menghapus satu atau beberapa filter jenis perubahan tabel yang ada di aliran data perubahan, gunakan cara berikut untuk menetapkan filter ke False
:
ALTER CHANGE STREAM CHANGE_STREAM_NAME
SET (MOD_TYPE_FILTER_NAME = false)
Ganti kode berikut:
- CHANGE_STREAM_NAME: ganti dengan nama aliran data perubahan yang ada
- MOD_TYPE_FILTER_NAME: ganti dengan filter yang ingin Anda
tambahkan:
exclude_insert
,exclude_update
, atauexclude_delete
. Jika menambahkan lebih dari satu filter sekaligus, pisahkan setiap filter dengan koma.
Pada contoh berikut, filter exclude_delete
dihapus dari aliran perubahan
yang sudah ada yang disebut NewFilterChangeStream
:
ALTER CHANGE STREAM NewFilterChangeStream
SET (exclude_delete = false)
Anda juga dapat menghapus filter modifikasi tabel dengan menetapkan filter kembali ke nilai default. Untuk melakukannya, setel nilai filter ke null
.
Menangguhkan aliran data perubahan
Jika ingin aliran data perubahan menghentikan aktivitasnya tetapi mempertahankan catatan internalnya—setidaknya selama masa berlaku periode retensi datanya—Anda dapat mengubahnya agar tidak memantau apa pun.
Untuk melakukannya, berikan pernyataan DDL ALTER CHANGE STREAM
yang menggantikan
definisi aliran perubahan dengan frasa khusus DROP FOR ALL
.
Contoh:
ALTER CHANGE STREAM MyStream DROP FOR ALL;
Aliran data akan terus ada dalam database, tetapi tidak mengamati objek, dan tidak menghasilkan catatan perubahan data lebih lanjut. Data perubahan yang sudah ada tetap tidak berubah, sesuai dengan kebijakan retensi data streaming.
Untuk melanjutkan aliran data yang ditangguhkan, keluarkan pernyataan ALTER CHANGE STREAM
lain dengan konfigurasi sebelumnya.
Menghapus aliran data perubahan
Untuk menghapus aliran data perubahan secara permanen, berikan pernyataan DROP CHANGE STREAM
yang menyertakan nama aliran data:
DROP CHANGE STREAM NamesAndAlbums;
Spanner akan segera menghentikan aliran data, menghapusnya dari skema database, dan menghapus record perubahan datanya.
Mencantumkan dan melihat aliran perubahan
Konsol Google Cloud menyediakan antarmuka web untuk mencantumkan dan meninjau definisi aliran perubahan database. Anda juga dapat melihat struktur aliran perubahan sebagai pernyataan DDL-nya yang setara, atau dengan membuat kueri skema informasi database.
Melihat aliran perubahan dengan Konsol Google Cloud
Untuk melihat daftar aliran perubahan database dan meninjau definisinya:
Buka halaman instance Spanner di Konsol Google Cloud.
Buka instance dan database yang sesuai.
Klik Ubah feed di menu navigasi.
Tindakan ini akan menampilkan daftar semua aliran perubahan database tersebut, dan meringkas konfigurasi setiap aliran data tersebut. Mengklik nama aliran data akan menampilkan detail lebih lanjut tentang tabel dan kolom yang dipantau.
Melihat definisi aliran perubahan sebagai DDL
Dengan melihat skema database sebagai DDL, Anda akan menyertakan deskripsi semua
aliran perubahannya, yang akan muncul sebagai pernyataan CREATE CHANGE STREAM
.
Untuk melakukannya dari konsol, klik link Show equal DDL di halaman database di Google Cloud Console.
Untuk melakukannya dari command line, gunakan perintah
ddl describe
pada Google Cloud CLI.
Membuat kueri skema informasi tentang aliran data perubahan
Anda dapat langsung mengkueri skema informasi database tentang aliran perubahannya. Tabel berikut berisi metadata yang menentukan nama aliran perubahan, tabel dan kolom yang dipantau, serta periode retensinya:
Praktik terbaik streaming perubahan
Berikut adalah beberapa praktik terbaik untuk mengonfigurasi dan mengelola aliran data perubahan.
Pertimbangkan {i>database metadata<i} yang terpisah
Aliran data perubahan menggunakan database metadata untuk mempertahankan status internal. Database metadata bisa saja sama atau berbeda dengan database yang berisi aliran perubahan. Sebaiknya buat database terpisah untuk penyimpanan metadata.
Konektor aliran perubahan Spanner memerlukan izin baca-tulis ke database metadata. Anda tidak perlu menyiapkan database ini dengan skema; konektor akan menanganinya.
Menggunakan database metadata terpisah akan menghilangkan kerumitan yang mungkin timbul karena mengizinkan konektor menulis langsung ke database aplikasi Anda:
Dengan memisahkan database metadata dari database production dengan aliran data perubahan, konektor hanya perlu membaca izin ke database produksi.
Dengan membatasi traffic konektor ke database metadata terpisah, penulisan yang dilakukan oleh konektor itu sendiri tidak disertakan dalam aliran perubahan produksi. Hal ini sangat relevan untuk aliran perubahan yang mengawasi seluruh {i>database<i}.
Jika tidak ada database terpisah yang digunakan untuk menyimpan metadata, sebaiknya pantau dampak CPU dari konektor aliran data perubahan pada instance-nya.
Buat benchmark aliran perubahan baru dan ubah ukuran jika diperlukan
Sebelum menambahkan aliran data perubahan baru ke instance produksi, pertimbangkan untuk membandingkan beban kerja yang realistis pada instance staging dengan streaming perubahan yang diaktifkan. Hal ini memungkinkan Anda menentukan apakah perlu menambahkan node ke instance, untuk meningkatkan kapasitas komputasi dan penyimpanannya.
Jalankan pengujian ini hingga metrik CPU dan penyimpanan stabil. Secara optimal, penggunaan CPU instance harus tetap di bawah jumlah maksimum yang direkomendasikan, dan penggunaan penyimpanannya tidak boleh melebihi batas penyimpanan instance.
Menggunakan region yang berbeda untuk melakukan load balancing
Saat menggunakan aliran perubahan dalam konfigurasi instance multi-region, pertimbangkan untuk menjalankan pipeline pemrosesannya di region yang berbeda dengan region pemimpin default. Hal ini membantu menyebarkan beban streaming di antara replika non-pemimpin. Namun, jika Anda perlu memprioritaskan penundaan streaming serendah mungkin daripada load balancing, jalankan beban streaming di region posisi teratas.
Langkah selanjutnya
Gunakan template untuk menghubungkan aliran perubahan ke BigQuery, Cloud Storage, atau Pub/Sub dengan cepat.