Layanan Transmisi Data (Data Transmission Service/DTS) mendukung sinkronisasi data dua arah antara instans ApsaraDB RDS for PostgreSQL dan klaster PolarDB for PostgreSQL. Konfigurasi ini cocok untuk skenario redundansi geo-aktif dan pemulihan bencana geo.
Sinkronisasi dua arah mensyaratkan bahwa setiap catatan data hanya diperbarui di salah satu dari dua node tersebut. Jika kedua node memperbarui catatan yang sama secara bersamaan, DTS merespons berdasarkan kebijakan resolusi konflik Anda, tetapi konsistensi data tidak dijamin.
Topik ini memandu Anda melalui konfigurasi tugas sinkronisasi maju (RDS PostgreSQL ke PolarDB for PostgreSQL), lalu tugas balik (PolarDB for PostgreSQL ke RDS PostgreSQL).
Anda dapat mengikuti prosedur yang sama untuk mengonfigurasi sinkronisasi dua arah antara database PostgreSQL yang dikelola sendiri dan klaster PolarDB for PostgreSQL.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Sebuah instance ApsaraDB RDS for PostgreSQL dan kluster PolarDB for PostgreSQL telah dibuat sebelumnya. Lihat Buat instance dan Buat kluster.
Untuk versi database yang didukung, lihat Ikhtisar skenario sinkronisasi data. Pastikan kapasitas storage space pada kedua database mencukupi.
Membuat database di klaster tujuan PolarDB for PostgreSQL untuk menerima data. Lihat Manajemen database.
Menyetel parameter wal_level ke logical baik pada instans sumber ApsaraDB RDS for PostgreSQL maupun klaster tujuan PolarDB for PostgreSQL. Lihat Ubah parameter instans ApsaraDB RDS for PostgreSQL dan Konfigurasikan parameter klaster.
Memiliki akun database dengan izin yang diperlukan pada kedua instans. Lihat Izin yang diperlukan untuk akun database.
Penagihan
| Jenis sinkronisasi | Biaya |
|---|---|
| Sinkronisasi skema dan sinkronisasi data penuh | Gratis |
| Sinkronisasi data inkremental | Dikenai biaya. Lihat Ikhtisar penagihan. |
Cara kerja sinkronisasi dua arah
Instans sinkronisasi dua arah mencakup dua tugas: forward synchronization task (RDS PostgreSQL ke PolarDB for PostgreSQL) dan reverse synchronization task (PolarDB for PostgreSQL ke RDS PostgreSQL).
Pencegahan sinkronisasi melingkar
Untuk mencegah perubahan berputar tak henti-hentinya, DTS membuat skema bernama dts di database sumber dan tujuan saat instansi sinkronisasi dua arah berjalan. DTS menggunakan skema ini untuk melacak perubahan mana yang berasal dari replikasi, sehingga perubahan tersebut tidak direplikasi ulang ke arah sebaliknya.
Jangan ubah skema dts selama tugas sedang berjalan.
Arah sinkronisasi DDL
Operasi DDL hanya disinkronkan dalam arah maju (sumber ke tujuan). Operasi DDL diabaikan dalam arah balik.
Aturan tugas maju dan balik
Ketika kedua tugas dikonfigurasi untuk menyinkronkan objek yang sama:
Hanya satu tugas (biasanya tugas maju) yang dapat menyinkronkan data penuh dan data inkremental. Tugas lainnya hanya menyinkronkan data inkremental.
Data yang disinkronkan oleh tugas maju tidak digunakan sebagai data sumber untuk tugas balik.
Batasan
Batasan database sumber
| Kendala | Detail |
|---|---|
| Kunci primer atau kunci unik wajib | Tabel harus memiliki kendala PRIMARY KEY atau UNIQUE, dengan semua bidang bernilai unik. Tanpa ini, database tujuan mungkin berisi catatan duplikat. Jika Anda membuat tugas tanpa memilih Schema Synchronization, pastikan tabel tujuan memiliki kendala PRIMARY KEY atau NOT NULL UNIQUE yang sama seperti sumber. |
| Maksimum tabel per tugas | 5.000 tabel per tugas sinkronisasi jika memilih tabel secara individual. Untuk lebih banyak tabel, buat beberapa tugas atau sinkronkan seluruh database. |
| Retensi log WAL — hanya inkremental | Log WAL harus dipertahankan lebih dari 24 jam. |
| Retensi log WAL — penuh + inkremental | Log WAL harus dipertahankan minimal 7 hari. Setelah sinkronisasi data penuh selesai, Anda dapat mengurangi periode retensi menjadi lebih dari 24 jam. |
| Transaksi jangka panjang | Transaksi jangka panjang menyebabkan akumulasi log WAL, yang dapat menghabiskan disk space pada database sumber. |
| Ukuran perubahan data tunggal | Jika satu perubahan data inkremental melebihi 256 MB, instansi sinkronisasi gagal dan tidak dapat dipulihkan. Anda harus mengonfigurasi ulang tugas. |
| DDL selama sinkronisasi skema atau data penuh | Jangan jalankan pernyataan DDL selama sinkronisasi skema atau sinkronisasi data penuh. |
| Peningkatan versi utama | Melakukan peningkatan versi utama pada database sumber menyebabkan instansi sinkronisasi gagal dan tidak dapat dipulihkan. Anda harus mengonfigurasi ulang tugas. |
Batasan lainnya
| Kendala | Detail |
|---|---|
| Satu database per tugas | Satu tugas sinkronisasi hanya dapat menyinkronkan data dari satu database. Buat tugas terpisah untuk beberapa database. |
| Tabel warisan lintas-skema | DTS tidak dapat menyinkronkan tabel dengan relasi warisan lintas skema. |
| Tipe data SERIAL | Jika tabel berisi tipe data SERIAL, DTS secara otomatis membuat sequence di database sumber. Saat mengonfigurasi Source Objects, pilih juga Sequence atau gunakan sinkronisasi seluruh skema. |
| Kunci asing dan pemicu | Selama sinkronisasi skema, DTS menyinkronkan kunci asing dari database sumber ke database tujuan. Selama sinkronisasi data penuh dan inkremental, DTS menyetel session_replication_role ke replica pada tingkat sesi selama sinkronisasi jika akun tujuan adalah akun istimewa. Jika akun tujuan tidak memiliki izin ini, setel session_replication_role ke replica secara manual. Setelah tugas dilepas, atur kembali ke origin. Operasi CASCADE UPDATE atau DELETE pada sumber selama periode ini dapat menyebabkan ketidakkonsistenan data. |
| Tabel baru atau berganti nama dalam skema yang disinkronkan | Sebelum menulis data ke tabel yang baru dibuat atau berganti nama dalam skema yang disinkronkan, jalankan ALTER TABLE schema.table REPLICA IDENTITY FULL;. Jangan kunci tabel saat menjalankan pernyataan ini. Lakukan selama jam sepi. |
| Tabel temporary | DTS membuat tabel temporary berikut di database sumber. Jangan hapus selama sinkronisasi — mereka akan dihapus otomatis setelah instansi DTS dilepas: public.dts_pg_class, public.dts_pg_attribute, public.dts_pg_type, public.dts_pg_enum, public.dts_postgres_heartbeat, public.dts_ddl_command, public.dts_args_session, public.aliyun_dts_instance. |
| Tabel heartbeat | DTS menambahkan tabel heartbeat bernama dts_postgres_heartbeat ke database sumber untuk menjaga akurasi latensi. |
| Slot replikasi | DTS membuat slot replikasi dengan awalan dts_sync_ di database sumber untuk menangkap log inkremental dari 15 menit terakhir. Slot replikasi dihapus otomatis saat instansi DTS dilepas. Jika Anda mengubah password database sumber atau menghapus alamat IP DTS dari daftar izin, hapus slot replikasi secara manual untuk mencegah akumulasi. Jika terjadi alih bencana primer/sekunder, login ke database sekunder untuk menghapus slot replikasi. |
| Validitas sequence | DTS tidak memvalidasi sequence. Periksa validitas sequence secara manual. Setelah mengalihkan beban kerja ke database tujuan, sequence tidak dilanjutkan dari nilai maksimum di sumber. Sebelum beralih, kueri nilai maksimum sequence di sumber dan tetapkan sebagai nilai awal di tujuan. |
| Dampak performa | Evaluasi dampak terhadap performa database sumber dan tujuan sebelum memulai sinkronisasi. Jalankan sinkronisasi selama jam sepi bila memungkinkan. |
| Ukuran ruang tabel | Setelah sinkronisasi data penuh awal, ruang tabel tujuan lebih besar daripada sumber karena fragmentasi dari operasi INSERT konkuren. |
| DDL Online | Jika hanya DTS yang menulis ke tujuan, Anda dapat menggunakan DMS untuk melakukan operasi DDL Online pada tabel sumber selama sinkronisasi. Lihat Ubah skema tanpa mengunci tabel. Jangan tulis data dari sumber lain ke tujuan selama sinkronisasi — hal ini dapat menyebabkan kehilangan data. |
| Pemulihan kegagalan tugas | Jika tugas DTS gagal, dukungan teknis DTS berusaha memulihkannya dalam waktu 8 jam. Selama pemulihan, tugas mungkin dimulai ulang dan parameter tugas (bukan parameter database) mungkin diubah. |
Untuk mengkueri nilai maksimum sequence di database sumber sebelum mengalihkan beban kerja:
do language plpgsql $$
declare
nsp name;
rel name;
val int8;
begin
for nsp,rel in select nspname,relname from pg_class t2 , pg_namespace t3 where t2.relnamespace=t3.oid and t2.relkind='S'
loop
execute format($_$select last_value from %I.%I$_$, nsp, rel) into val;
raise notice '%',
format($_$select setval('%I.%I'::regclass, %s);$_$, nsp, rel, val+1);
end loop;
end;
$$;Pernyataan SQL yang dikembalikan mencakup semua sequence di database sumber. Jalankan hanya pernyataan yang relevan dengan kebutuhan Anda di database tujuan.
Kasus khusus
| Database sumber | Kendala |
|---|---|
| ApsaraDB RDS for PostgreSQL | Jangan ubah titik akhir atau zona instans selama sinkronisasi. |
| PostgreSQL yang dikelola sendiri | Nilai max_wal_senders dan max_replication_slots harus lebih besar dari jumlah slot replikasi yang sedang digunakan ditambah jumlah instansi DTS yang diperlukan. |
| Cloud SQL for PostgreSQL (Google Cloud) | Atur Database Account ke akun dengan izin cloudsqlsuperuser. Pilih hanya objek yang dikelola oleh akun tersebut, atau berikan izin OWNER pada objek yang dipilih kepada akun tersebut. Akun cloudsqlsuperuser tidak dapat mengelola data yang dimiliki oleh akun cloudsqlsuperuser lainnya. |
Dukungan deteksi konflik
DTS mendeteksi dan merespons tiga jenis konflik selama sinkronisasi dua arah:
| Jenis konflik | Apa yang terjadi |
|---|---|
| INSERT uniqueness conflict | Jika catatan dengan kunci primer yang sama dimasukkan di kedua node hampir bersamaan, satu INSERT gagal karena kunci tersebut sudah ada di node lain. |
| UPDATE on missing record | Jika catatan yang akan diperbarui tidak ada di tujuan, DTS mengubah UPDATE menjadi INSERT. INSERT ini dapat memicu konflik keunikan. |
| DELETE on missing record | Jika catatan yang akan dihapus tidak ada di tujuan, DTS mengabaikan DELETE terlepas dari kebijakan resolusi konflik. |
Kebijakan resolusi konflik
Pilih kebijakan resolusi konflik saat mengonfigurasi sinkronisasi dua arah:
| Kebijakan | Perilaku |
|---|---|
| TaskFailed | Tugas melaporkan error dan berhenti. Selesaikan konflik secara manual sebelum melanjutkan. |
| Ignore | Pernyataan yang konflik dilewati. Catatan yang ada di tujuan dipertahankan. |
| Overwrite | Catatan yang konflik di tujuan ditimpa dengan catatan dari sumber. |
Deteksi konflik tidak mencegah semua konflik data. Perbedaan jam sistem dan latensi sinkronisasi antar node berarti beberapa konflik mungkin tidak terdeteksi. Untuk menjaga konsistensi data, pastikan setiap catatan data hanya diperbarui di satu node dalam satu waktu. Jika Anda menjeda dan memulai ulang tugas sinkronisasi, kebijakan resolusi konflik tidak berlaku selama jendela latensi — data di tujuan ditimpa secara default.
Operasi SQL yang dapat disinkronkan
| Jenis operasi | Pernyataan SQL |
|---|---|
| DML (bahasa manipulasi data) | INSERT, UPDATE, DELETE |
| DDL (bahasa definisi data) | Hanya arah maju — DDL diabaikan dalam arah balik. Lihat detail di bawah. |
Detail sinkronisasi DDL
Sinkronisasi DDL hanya berlaku untuk tugas yang dibuat setelah 1 Oktober 2020. Untuk tugas yang dibuat sebelum 12 Mei 2023, buat pemicu dan fungsi di database sumber sebelum mengonfigurasi tugas. Lihat Gunakan pemicu dan fungsi untuk menerapkan migrasi DDL inkremental untuk database PostgreSQL.
Data tipe BIT tidak dapat disinkronkan selama sinkronisasi data inkremental.
Ketika akun database sumber adalah akun istimewa dan versi mesin minor instans ApsaraDB RDS for PostgreSQL adalah 20210228 atau lebih baru, DTS menyinkronkan pernyataan DDL berikut. Lihat Perbarui versi mesin minor.
CREATE TABLE dan DROP TABLE
ALTER TABLE, termasuk: RENAME TABLE, ADD COLUMN, ADD COLUMN DEFAULT, ALTER COLUMN TYPE, DROP COLUMN, ADD CONSTRAINT, ADD CONSTRAINT CHECK, ALTER COLUMN DROP DEFAULT
TRUNCATE TABLE (hanya untuk PostgreSQL versi 11 atau lebih baru)
CREATE INDEX ON TABLE
Operasi DDL berikut tidak disinkronkan:
Pernyataan DDL dengan CASCADE atau RESTRICT
Pernyataan DDL dari sesi yang menjalankan
SET session_replication_role = replicaPernyataan DDL yang dieksekusi dengan memanggil fungsi
Pernyataan DDL yang dikomit bersamaan dengan pernyataan DML
Pernyataan DDL untuk objek yang tidak termasuk dalam cakupan sinkronisasi
Izin yang diperlukan untuk akun database
| Database | Izin yang diperlukan | Referensi |
|---|---|---|
| ApsaraDB RDS for PostgreSQL | Akun istimewa yang merupakan pemilik database. Untuk RDS PostgreSQL V9.4 dengan sinkronisasi hanya DML, izin REPLICATION sudah cukup. | Buat akun dan Buat database |
| Klaster PolarDB for PostgreSQL | Akun istimewa yang merupakan pemilik database | Buat akun database dan Manajemen database |
Perbedaan utama antara tugas maju dan balik
Tinjau perbedaan ini sebelum memulai — tugas balik memiliki batasan spesifik yang berbeda dari tugas maju:
| Item | Forward task | Reverse Task |
|---|---|---|
| Sumber dan tujuan | RDS PostgreSQL ke PolarDB for PostgreSQL | PolarDB for PostgreSQL ke RDS PostgreSQL (arah dibalik) |
| Instance Region | Dapat dikonfigurasi | Tetap — tidak dapat diubah |
| Objek yang dipilih | Konfigurasi dari awal | Tidak dapat menggunakan kembali objek yang dipilih pada tugas maju |
| Pemetaan nama objek | Didukung | Tidak disarankan — dapat menyebabkan ketidakkonsistenan data |
| Penanganan tabel konflik | Tabel yang sudah disinkronkan dari tugas maju dikecualikan | Sama |
| Jumlah parameter | Set lengkap | Lebih sedikit parameter yang ditampilkan — konfigurasikan hanya yang muncul di Konsol |
Konfigurasikan sinkronisasi dua arah
Langkah 1: Buka halaman Sinkronisasi Data
Gunakan salah satu metode berikut:
Konsol DTS
Login ke Konsol DTS.
Di panel navigasi kiri, klik Data Synchronization.
Di pojok kiri atas, pilih wilayah tempat instansi sinkronisasi akan berada.
Konsol DMS
Langkah-langkah tepatnya dapat berbeda tergantung mode dan tata letak Konsol DMS Anda. Lihat Mode simple dan Sesuaikan tata letak dan gaya Konsol DMS.
Login ke Konsol DMS.
Di bilah navigasi atas, arahkan penunjuk ke Data + AI, lalu pilih .
Dari daftar drop-down di sebelah kanan Data Synchronization Tasks, pilih wilayah tempat instansi sinkronisasi akan berada.
Langkah 2: Buat tugas
Klik Create Task untuk menuju halaman konfigurasi tugas.
Klik New Configuration Page di pojok kanan atas jika halaman menampilkan Back to Previous Version. Lewati langkah ini jika Back to Previous Version sudah ditampilkan.
Beberapa parameter berbeda antara versi halaman konfigurasi baru dan sebelumnya. Gunakan versi baru.
Langkah 3: Konfigurasikan database sumber dan tujuan
| Bagian | Parameter | Deskripsi |
|---|---|---|
| N/A | Task Name | DTS menghasilkan nama secara otomatis. Tentukan nama deskriptif agar mudah mengidentifikasi tugas. Nama tidak perlu unik. |
| Source Database | Select Existing Connection | Pilih instans database terdaftar dari daftar drop-down untuk mengisi otomatis parameter koneksi. Jika instans belum terdaftar, konfigurasi parameter secara manual. Di Konsol DMS, gunakan daftar drop-down Select a DMS database instance. |
| Database Type | Pilih PostgreSQL. | |
| Access Method | Pilih Alibaba Cloud Instance. | |
| Instance Region | Pilih wilayah tempat instans sumber ApsaraDB RDS for PostgreSQL berada. | |
| Replicate Data Across Alibaba Cloud Accounts | Pilih No jika kedua database berada dalam Akun Alibaba Cloud yang sama. | |
| Instance ID | Pilih instans sumber ApsaraDB RDS for PostgreSQL. | |
| Database Name | Masukkan nama database sumber yang akan disinkronkan. | |
| Database Account | Masukkan akun database. Lihat Izin yang diperlukan untuk akun database. | |
| Database Password | Masukkan password akun. | |
| Encryption | Pilih Non-encrypted atau SSL-encrypted sesuai kebutuhan Anda. Untuk koneksi terenkripsi SSL, unggah CA Certificate, Client Certificate, dan Private Key of Client Certificate sesuai kebutuhan, serta masukkan Private Key Password of Client Certificate. Untuk database PostgreSQL yang dikelola sendiri dengan enkripsi SSL, unggah CA Certificate. Untuk pengaturan SSL ApsaraDB RDS for PostgreSQL, lihat Enkripsi SSL. | |
| Destination Database | Select Existing Connection | Pilih instans database terdaftar atau konfigurasi secara manual. |
| Database Type | Pilih PolarDB for PostgreSQL. | |
| Access Method | Pilih Alibaba Cloud Instance. | |
| Instance Region | Pilih wilayah tempat klaster tujuan PolarDB for PostgreSQL berada. | |
| Instance ID | Pilih klaster tujuan PolarDB for PostgreSQL. | |
| Database Name | Masukkan nama database tujuan untuk menerima data. | |
| Database Account | Masukkan akun database. Lihat Izin yang diperlukan untuk akun database. | |
| Database Password | Masukkan password akun. |
Langkah 4: Uji konektivitas dan lanjutkan
Klik Test Connectivity and Proceed di bagian bawah halaman.
Pastikan Blok CIDR server DTS telah ditambahkan ke pengaturan keamanan database sumber dan tujuan. Lihat Tambahkan Blok CIDR server DTS. Untuk database yang dikelola sendiri yang tidak diatur ke Alibaba Cloud Instance, klik Test Connectivity di kotak dialog CIDR Blocks of DTS Servers.
Langkah 5: Konfigurasikan objek yang akan disinkronkan
Pada langkah Configure Objects, atur parameter berikut:
Parameter Deskripsi Synchronization Types Pilih Schema Synchronization, Full Data Synchronization, dan Incremental Data Synchronization. DTS pertama-tama menyinkronkan data historis sebagai dasar untuk sinkronisasi inkremental berikutnya. Synchronization Topology Pilih Two-way Synchronization. Exclude DDL Operations Pilih Yespengaturan pemberitahuan peringatan untuk mengecualikan sinkronisasi DDL, atau No untuk menyertakannya. Operasi DDL hanya disinkronkan dalam arah maju. Parameter ini hanya muncul saat mengonfigurasi tugas maju. Global Conflict Resolution Policy Pilih kebijakan untuk menangani konflik. Lihat Dukungan deteksi konflik untuk detailnya. Kebijakan ini tidak berlaku selama jendela latensi saat Anda menjeda dan memulai ulang tugas — data di tujuan ditimpa secara default selama jendela tersebut. Processing Mode of Conflicting Tables Precheck and Report Errors: pemeriksaan awal gagal jika tujuan berisi tabel dengan nama yang sama seperti tabel sumber. Gunakan Map object names untuk mengganti nama tabel tujuan jika tidak dapat dihapus atau diganti namanya. Ignore Errors and Proceed: melewati pemeriksaan awal untuk nama tabel yang identik. Selama sinkronisasi data penuh, catatan tujuan yang ada dengan kunci primer atau unik yang cocok dipertahankan. Selama sinkronisasi inkremental, catatan tersebut ditimpa. Jika skema berbeda, inisialisasi data mungkin gagal. Lanjutkan dengan hati-hati. Source Objects Pilih objek dari bagian Source Objects dan klik ikon panah untuk memindahkannya ke bagian Selected Objects. Anda dapat memilih kolom, tabel, atau skema. Selected Objects Klik kanan objek untuk mengganti namanya di tujuan (lihat Map object names), atur kondisi filter WHERE (lihat Tentukan kondisi filter), atau pilih operasi SQL mana yang akan disinkronkan untuk objek tersebut. Klik objek lalu klik ikon hapus untuk menghapusnya. Perhatikan bahwa mengganti nama objek dapat menyebabkan objek dependen gagal disinkronkan. Klik Next: Advanced Settings dan konfigurasikan hal berikut:
Parameter Deskripsi Dedicated Cluster for Task Scheduling Secara default, DTS menggunakan kluster bersama. Untuk meningkatkan stabilitas, beli kluster khusus. Lihat Apa itu kluster khusus DTS. Retry Time for Failed Connections Rentang waktu untuk mencoba koneksi yang gagal setelah tugas dimulai. Nilai valid: 10–1.440 menit. Default: 720 menit. Atur lebih dari 30 menit. Jika DTS terhubung kembali dalam jendela ini, tugas dilanjutkan. Jika tidak, tugas gagal. Jika beberapa tugas berbagi database sumber atau tujuan yang sama, jendela retry terpendek yang berlaku. DTS menagih instansi selama percobaan ulang. Retry Time for Other Issues Rentang waktu untuk mencoba ulang operasi DDL atau DML yang gagal. Nilai valid: 1–1.440 menit. Default: 10 menit. Atur lebih dari 10 menit. Nilai ini harus kurang dari Retry Time for Failed Connections. Enable Throttling for Full Data Synchronization Batasi penggunaan sumber daya baca/tulis selama sinkronisasi data penuh. Konfigurasikan Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s). Hanya tersedia jika Full Data Synchronization dipilih. Enable Throttling for Incremental Data Synchronization Batasi penggunaan sumber daya selama sinkronisasi inkremental. Konfigurasikan RPS of Incremental Data Synchronization dan Data synchronization speed for incremental synchronization (MB/s). Environment Tag Tag untuk mengidentifikasi instansi DTS. Opsional. Configure ETL Pilih Yes untuk mengaktifkan ekstrak, transformasi, muat (ETL) dan masukkan pernyataan pemrosesan data. Pilih No untuk melewati. Lihat Apa itu ETL? dan Konfigurasikan ETL dalam tugas migrasi data atau sinkronisasi data. Monitoring and Alerting Pilih Yes untuk menerima notifikasi saat tugas gagal atau latensi sinkronisasi melebihi ambang batas. Konfigurasikan ambang batas peringatan dan pengaturan notifikasi. Lihat Konfigurasikan pemantauan dan peringatan saat membuat tugas DTS. Pilih No untuk melewati. Klik Next Step: Data Verification untuk mengonfigurasi verifikasi data. Untuk informasi selengkapnya, lihat Mengonfigurasi tugas verifikasi data.
Langkah 6: Simpan pengaturan dan jalankan pemeriksaan awal
Klik Next: Save Task Settings and Precheck di bagian bawah halaman.
Untuk melihat pratinjau parameter API untuk tugas ini, arahkan pointer ke Next: Save Task Settings and Precheck lalu klik Preview OpenAPI parameters sebelum melanjutkan.
DTS menjalankan pemeriksaan awal sebelum memulai tugas. Tugas hanya dimulai setelah pemeriksaan awal berhasil.
Jika pemeriksaan awal gagal, klik View Details di sebelah setiap item yang gagal, selesaikan masalahnya, lalu klik Precheck Again.
Jika pemeriksaan awal memicu peringatan:
Untuk peringatan yang tidak dapat diabaikan: klik View Details, perbaiki masalahnya, lalu jalankan ulang pemeriksaan awal.
Untuk peringatan yang dapat diabaikan: klik Confirm Alert Details > Ignore > OK > Precheck Again. Mengabaikan peringatan dapat menyebabkan ketidakkonsistenan data.
Langkah 7: Beli instansi sinkronisasi
Tunggu hingga Success Rate mencapai 100%, lalu klik Next: Purchase Instance.
Di halaman buy, konfigurasikan hal berikut:
| Bagian | Parameter | Deskripsi |
|---|---|---|
| New Instance Class | Billing Method | Subscription: bayar di muka untuk periode tetap — lebih hemat biaya untuk penggunaan jangka panjang. Pay-as-you-go: ditagih per jam — cocok untuk penggunaan jangka pendek. Lepaskan instansi saat tidak lagi diperlukan untuk menghindari biaya yang tidak perlu. |
| Resource Group Settings | Kelompok sumber daya untuk instansi sinkronisasi. Default: default resource group. Lihat Apa itu Resource Management? | |
| Instance Class | Pilih kelas instans berdasarkan kecepatan sinkronisasi yang dibutuhkan. Lihat Kelas instans instansi sinkronisasi data. | |
| Subscription Duration | Hanya tersedia untuk metode penagihan Subscription. Opsi: 1–9 bulan, 1 tahun, 2 tahun, 3 tahun, atau 5 tahun. |
Baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms, lalu klik Buy and Start. Di kotak dialog konfirmasi, klik OK.
Tugas muncul di daftar tugas. Anda dapat memantau perkembangannya di sana.
Langkah 8: Tunggu hingga tugas maju mulai berjalan
Tunggu hingga Status tugas sinkronisasi maju berubah menjadi Running dan sinkronisasi awal selesai.
Langkah 9: Konfigurasikan tugas sinkronisasi balik
Temukan tugas sinkronisasi balik di daftar tugas dan klik Configure Task di kolom Actions.
Konfigurasikan tugas balik dengan mengikuti Langkah 3–6. Terapkan batasan dari Perbedaan utama antara tugas maju dan balik:
Penting- Tukar sumber dan tujuan: sumber untuk tugas balik adalah tujuan tugas maju (PolarDB for PostgreSQL), dan tujuan adalah sumber tugas maju (ApsaraDB RDS for PostgreSQL). - Instance Region tetap dan tidak dapat diubah. - Konfigurasikan hanya parameter yang muncul di Konsol — lebih sedikit parameter yang ditampilkan untuk tugas balik. - Tabel yang sudah disinkronkan ke tujuan oleh tugas maju dikecualikan dari pemeriksaan Processing Mode of Conflicting Tables dalam arah balik. - Jangan gunakan kembali objek yang dipilih dari tugas maju untuk tugas balik. - Hindari menggunakan fitur pemetaan nama objek — hal ini dapat menyebabkan ketidakkonsistenan data.
Tunggu hingga Success Rate mencapai 100%, lalu klik Back.
Langkah 10: Verifikasi sinkronisasi dua arah sedang berjalan
Tunggu hingga Status kedua tugas sinkronisasi maju dan balik berubah menjadi Running. Sinkronisasi data dua arah kini aktif.