All Products
Search
Document Center

Data Transmission Service:Sinkronisasi dua arah antara PolarDB for PostgreSQL dan RDS for PostgreSQL

Last Updated:Jul 11, 2026

Data Transmission Service (DTS) mendukung sinkronisasi data dua arah secara real-time antara kluster PolarDB for PostgreSQL dan database PostgreSQL, seperti instans ApsaraDB RDS for PostgreSQL serta database PostgreSQL yang dikelola sendiri. Topik ini menjelaskan cara mengonfigurasi sinkronisasi data dua arah untuk instans ApsaraDB RDS for PostgreSQL. Prosedurnya serupa untuk sumber data lainnya.

Prasyarat

  • Kluster PolarDB for PostgreSQL telah dibuat sebagai sumber, dan instans ApsaraDB RDS for PostgreSQL telah dibuat sebagai tujuan. Untuk informasi selengkapnya, lihat Buat kluster database dan Buat instans ApsaraDB RDS for PostgreSQL.

    Catatan
    • Untuk informasi tentang versi database sumber dan tujuan yang didukung, lihat Ikhtisar skenario sinkronisasi data.

    • Database sumber dan tujuan harus memiliki kapasitas penyimpanan yang mencukupi.

  • Database telah dibuat di instans ApsaraDB RDS for PostgreSQL tujuan untuk menerima data. Untuk informasi selengkapnya, lihat Buat database.

  • Anda telah mengatur parameter wal_level ke logical pada kluster sumber PolarDB for PostgreSQL dan instans tujuan ApsaraDB RDS for PostgreSQL. Untuk informasi selengkapnya, lihat Atur parameter kluster dan Atur parameter instans.

Catatan penggunaan

Catatan
  • Saat menyinkronkan skema, DTS menyinkronkan kunci asing dari database sumber ke database tujuan.

  • Selama sinkronisasi data penuh dan inkremental, DTS secara sementara menonaktifkan pemeriksaan constraint dan operasi kaskade pada kunci asing di tingkat sesi. Jika terjadi pembaruan atau penghapusan secara kaskade di database sumber selama sinkronisasi, ketidakkonsistenan data dapat terjadi.

Type

Description

Batasan database sumber

  • Di kluster PolarDB for PostgreSQL, tabel yang akan disinkronkan harus memiliki primary key atau unique index non-null.

  • Jika database sumber memiliki transaksi jangka panjang dan instans memiliki tugas sinkronisasi inkremental, write-ahead log (WAL) yang dihasilkan sebelum transaksi jangka panjang tersebut dikomit dapat menumpuk. Hal ini dapat menyebabkan ruang disk database sumber menjadi tidak mencukupi.

  • Untuk memastikan tugas sinkronisasi berjalan sesuai harapan dan mencegah replikasi logis terganggu oleh alih bencana primer/sekunder, kluster PolarDB for PostgreSQL harus mendukung dan mengaktifkan Logical Replication Slot Failover.

    Catatan

    Jika kluster PolarDB for PostgreSQL sumber tidak mendukung Logical Replication Slot Failover (misalnya, jika Database Engine kluster adalah PostgreSQL 14), alih bencana high-availability (HA) di database sumber dapat menyebabkan instans sinkronisasi gagal dan tidak dapat dipulihkan.

  • Karena batasan inheren langganan logis di database sumber, jika satu catatan data yang akan disinkronkan melebihi 256 MB setelah perubahan inkremental, instans sinkronisasi akan gagal dan harus dikonfigurasi ulang.

  • Jangan menjalankan operasi DDL yang mengubah skema database atau tabel selama sinkronisasi skema atau sinkronisasi penuh. Jika dilakukan, tugas sinkronisasi akan gagal.

    Catatan

    Selama sinkronisasi penuh, DTS melakukan kueri ke database sumber. Hal ini membuat metadata lock yang dapat memblokir operasi DDL di database sumber.

  • Tabel dengan generated columns di PostgreSQL 18 tidak mendukung sinkronisasi. Jika Anda mengonfigurasi sinkronisasi untuk tabel semacam itu, operasi DML pada tabel tersebut akan diblokir.

Batasan lainnya

  • Satu tugas sinkronisasi data hanya dapat menyinkronkan satu database. Untuk menyinkronkan beberapa database, Anda harus mengonfigurasi tugas terpisah untuk masing-masing.

  • DTS tidak mendukung penyinkronan tabel plugin TimescaleDB, tabel dengan pewarisan lintas-skema, atau tabel dengan unique index berbasis ekspresi.

  • Skema yang dibuat dengan menginstal plugin tidak dapat disinkronkan. Anda tidak dapat memperoleh informasi tentang skema ini di Konsol saat mengonfigurasi tugas.

  • Pada tiga skenario berikut, Anda harus menjalankan perintah ALTER TABLE schema.table REPLICA IDENTITY FULL; pada tabel sumber sebelum menulis data ke dalamnya untuk memastikan konsistensi data. Jangan lakukan operasi penguncian tabel saat perintah ini berjalan untuk mencegah deadlock. Jika Anda melewatkan pemeriksaan ini selama Pemeriksaan Awal, DTS akan menjalankan perintah ini secara otomatis selama inisialisasi instans.

    • Saat instans dijalankan untuk pertama kalinya.

    • Saat Anda memilih objek di tingkat skema, dan tabel baru dibuat di skema tersebut atau tabel dibangun ulang menggunakan perintah RENAME.

    • Saat Anda menggunakan fitur untuk memodifikasi objek sinkronisasi.

    Catatan
    • Ganti schema dan table dalam perintah dengan nama skema dan tabel yang akan disinkronkan.

    • Lakukan operasi ini selama jam sepi.

  • Jika tabel yang akan disinkronkan berisi kolom tipe SERIAL, database sumber secara otomatis membuat sequence untuk kolom tersebut. Oleh karena itu, saat Anda mengonfigurasi Source Objects, jika Anda memilih Schema Synchronization untuk Synchronization Types, kami menyarankan agar Anda juga memilih Sequence atau menyinkronkan seluruh skema. Jika tidak, instans sinkronisasi dapat gagal.

  • Selama sinkronisasi data penuh awal, DTS mengonsumsi sumber daya baca dan tulis di kedua database sumber dan tujuan, yang dapat meningkatkan beban database. Oleh karena itu, evaluasi kinerja database sumber dan tujuan sebelum menyinkronkan data, dan lakukan sinkronisasi selama jam sepi (misalnya, saat beban CPU kedua database di bawah 30%).

  • Karena sinkronisasi data penuh menjalankan operasi INSERT secara konkuren, hal ini menyebabkan fragmentasi tabel di database tujuan. Akibatnya, ruang tabel di database tujuan lebih besar daripada di instans sumber setelah sinkronisasi penuh selesai.

  • Selama sinkronisasi DTS, jangan menulis data ke database tujuan dari sumber selain DTS. Jika dilakukan, ketidakkonsistenan data antara database sumber dan tujuan dapat terjadi.

  • Tugas sinkronisasi dua arah mencakup tugas sinkronisasi maju dan balik. Saat Anda mengonfigurasi atau mengatur ulang tugas, jika objek tujuan salah satu tugas cocok dengan objek sinkronisasi tugas lainnya:

    • Hanya izinkan satu tugas untuk menyinkronkan data penuh dan inkremental. Tugas lain hanya mendukung sinkronisasi inkremental.

    • Data dari sumber tugas saat ini hanya disinkronkan ke tujuan tugas saat ini. Data tersebut tidak berfungsi sebagai data sumber untuk tugas lainnya.

  • Selama sinkronisasi data, DTS membuat replication slot dengan awalan dts_sync_ di database sumber untuk mereplikasi data. Replication slot ini memungkinkan DTS memperoleh log inkremental yang dihasilkan dalam 15 menit terakhir dari database sumber. Ketika tugas sinkronisasi data gagal atau instans dilepas, DTS mencoba menghapus replication slot ini secara otomatis.

    Catatan
    • Jika Anda mengubah password akun database sumber atau menghapus daftar putih IP untuk DTS selama sinkronisasi data, replication slot tidak akan dibersihkan secara otomatis. Bersihkan secara manual replication slot di database sumber untuk mencegahnya mengonsumsi ruang disk dan membuat database sumber tidak tersedia.

    • Jika database sumber mengalami failover, login ke database standby untuk melakukan pembersihan secara manual.

    Jalankan pernyataan SQL SELECT * FROM pg_replication_slots; untuk melihat semua replication slot di database sumber. Di hasilnya, replication slot DTS adalah catatan di mana nilai slot_name dimulai dengan dts_sync_ dan nilai active adalah true.

  • DTS memvalidasi konten data tetapi tidak mendukung validasi untuk metadata seperti sequence. Anda harus memvalidasi metadata sendiri.

  • DTS membuat tabel temporary berikut di database sumber untuk memperoleh pernyataan DDL untuk data inkremental, skema tabel inkremental, dan informasi heartbeat. Jangan menghapus tabel temporary ini selama sinkronisasi. Jika dihapus, tugas DTS dapat gagal. Tabel temporary ini dihapus secara otomatis setelah instans 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, dan public.aliyun_dts_instance.

  • Setelah Anda memindahkan bisnis ke database tujuan, sekuens tidak secara otomatis dilanjutkan dari nilai maksimum sekuens yang sesuai di database sumber. Sebelum melakukan alih bencana, lakukan kueri untuk mendapatkan nilai maksimum sekuens tersebut di database sumber, lalu gunakan nilai tersebut sebagai nilai awal sekuens yang sesuai di database tujuan. Jalankan perintah berikut untuk melakukan kueri nilai sekuens di database sumber:

    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;
    $$;
    Catatan

    Pernyataan SQL yang dihasilkan oleh perintah di atas mencakup semua sequence dari database sumber. Jalankan di database tujuan sesuai kebutuhan bisnis Anda.

  • Untuk tugas sinkronisasi data penuh atau inkremental, jika tabel sumber yang akan disinkronkan berisi kunci asing, trigger, atau event trigger, DTS secara sementara mengatur parameter session_replication_role ke replica di tingkat sesi. Jika akun database tujuan tidak memiliki izin yang diperlukan, Anda harus mengatur parameter session_replication_role ke replica di database tujuan secara manual. Selama periode ini, jika operasi cascade update atau delete terjadi di database sumber saat session_replication_role diatur ke replica, ketidakkonsistenan data dapat terjadi. Setelah tugas DTS dilepas, ubah kembali parameter session_replication_role ke origin.

  • Jika tugas gagal, staf dukungan DTS akan mencoba memulihkannya dalam waktu delapan jam. Selama pemulihan, mereka dapat merestart tugas atau menyesuaikan parameternya.

    Catatan

    Hanya parameter tugas DTS yang dimodifikasi—bukan parameter database. Parameter yang mungkin disesuaikan termasuk yang tercantum di Modify instance parameters.

  • Saat Anda menyinkronkan tabel partisi, Anda harus menyertakan tabel induk dan partisi anaknya sebagai objek sinkronisasi. Jika tidak, data di tabel partisi dapat menjadi tidak konsisten.

    Penting
    • Tabel induk dari tabel partisi PostgreSQL tidak menyimpan data secara langsung. Semua data disimpan di partisi anak. Tugas sinkronisasi data harus mencakup tabel induk dan semua partisi anaknya. Jika tidak, data dari partisi anak dapat terlewat, menyebabkan ketidakkonsistenan data antara sumber dan tujuan.

    • Sinkronisasi tabel partisi dan tabel pewarisan (tabel induk-anak) lintas database berbeda tidak didukung. Pastikan tabel partisi dan semua partisinya, serta tabel induk dan semua tabel anaknya, berada di database yang sama.

Penagihan

Jenis sinkronisasi

Harga

Sinkronisasi skema dan sinkronisasi data penuh

Gratis.

Sinkronisasi data inkremental

Dikenai biaya. Untuk informasi selengkapnya, lihat Billing overview.

Detect conflict yang didukung

Untuk memastikan konsistensi data, pastikan catatan data dengan primary key, business primary key, atau unique key yang sama hanya diperbarui di salah satu instans database dalam sinkronisasi dua arah. Jika catatan data diperbarui di kedua instans database, sistem DTS akan menerapkan kebijakan resolusi konflik yang dikonfigurasi dalam tugas.

DTS memeriksa dan memperbaiki konflik untuk memaksimalkan stabilitas tugas sinkronisasi dua arah. DTS dapat mendeteksi jenis konflik berikut:

  • Konflik keunikan akibat operasi INSERT

    Dalam sinkronisasi dua arah, jika catatan dengan primary key yang sama dimasukkan ke kedua instans database secara bersamaan (atau hampir bersamaan), konflik constraint keunikan akan terpicu. Saat pernyataan INSERT disinkronkan ke instans pasangan, operasi tersebut gagal karena catatan dengan nilai primary key yang sama sudah ada.

  • Catatan tidak cocok dalam operasi UPDATE

    • Jika catatan yang akan diperbarui tidak ada di instans tujuan, DTS mengonversi operasi UPDATE menjadi operasi INSERT. Namun, hal ini dapat menyebabkan konflik keunikan.

    • Catatan yang akan diperbarui oleh operasi UPDATE menyebabkan konflik pada primary key atau unique key.

  • Catatan tidak ada untuk dihapus

    Catatan yang akan dihapus tidak ada di instans tujuan. Dalam kasus ini, DTS mengabaikan operasi DELETE terlepas dari kebijakan resolusi konflik yang Anda tentukan.

Penting
  • Karena perbedaan waktu dan latensi, DTS tidak dapat menjamin pencegahan konflik 100%. Untuk memastikan konsistensi, perbarui catatan dengan primary key atau unique key yang sama hanya di satu instans database dalam satu waktu.

  • DTS menyediakan berbagai strategi resolusi konflik untuk konflik data tersebut, yang dapat Anda pilih saat mengonfigurasi sinkronisasi data dua arah.

Objek yang didukung

Skema dan tabel

Catatan
  • Ini mencakup primary key, unique key, foreign key, tipe data bawaan, dan constraint default.

  • Saat jenis database ini digunakan sebagai sumber, fitur yang didukung dapat bervariasi tergantung pada jenis database target. Lihat Konsol untuk detail spesifik.

Operasi SQL yang didukung

Penting
  • Pernyataan DDL hanya disinkronkan dalam tugas maju (sumber ke tujuan). Tugas balik secara otomatis memfilter pernyataan DDL.

  • Saat mengeksekusi DDL untuk memodifikasi skema tabel selama sinkronisasi dua arah, pastikan penulisan DML di kedua database konsisten dengan skema baru. Misalnya, jika Anda menghapus kolom dari sumber, tujuan mungkin masih menulis data berdasarkan skema lama yang mencakup kolom yang dihapus, sehingga menyebabkan kegagalan.

Jenis operasi

Pernyataan SQL

DML

INSERT, UPDATE, DELETE

DDL

  • Sinkronisasi DDL hanya didukung untuk tugas sinkronisasi data yang dibuat setelah 1 Oktober 2020.

    Penting
  • Jika database sumber menggunakan akun istimewa, tugas sinkronisasi data mendukung operasi DDL berikut:

    • CREATE TABLE, DROP TABLE

    • ALTER TABLE (termasuk RENAME TABLE, ADD COLUMN, ADD COLUMN DEFAULT, ALTER COLUMN TYPE, DROP COLUMN, ADD CONSTRAINT, ADD CONSTRAINT CHECK, dan ALTER COLUMN DROP DEFAULT)

    • TRUNCATE TABLE (Kluster PolarDB for PostgreSQL sumber harus menggunakan database engine PostgreSQL 11 atau yang lebih baru.)

    • CREATE INDEX ON TABLE

Penting
  • Klausa tambahan dalam pernyataan DDL, seperti CASCADE atau RESTRICT, tidak disinkronkan.

  • Pernyataan DDL tidak disinkronkan dari sesi tempat perintah SET session_replication_role = replica dieksekusi.

  • Pernyataan DDL yang dieksekusi dengan memanggil FUNCTION tidak disinkronkan.

  • Jika satu commit di database sumber berisi pernyataan DML dan DDL, pernyataan DDL tidak disinkronkan.

  • Jika commit mencakup pernyataan DDL yang menargetkan objek yang tidak dikonfigurasi untuk sinkronisasi, pernyataan tersebut tidak disinkronkan.

Izin akun database

Jenis database

Izin yang diperlukan

Referensi

PolarDB for PostgreSQL

Akun istimewa yang memiliki database.

Buat akun database dan Manajemen database.

RDS PostgreSQL

Akun istimewa yang memiliki database.

Buat akun dan Buat database.

Prosedur

  1. Beli instans sinkronisasi dua arah. Untuk informasi selengkapnya, lihat Beli instans DTS.

    Penting

    Di halaman pembelian, atur Function ke Data Synchronization, Source Instance ke PolarDB for PostgreSQL, Destination Instance ke PostgreSQL, dan Synchronization Topology ke Two-way Synchronization. Konfigurasi parameter lainnya sesuai kebutuhan bisnis Anda.

  2. Buka halaman daftar tugas sinkronisasi di wilayah tujuan. Anda dapat menggunakan salah satu dari dua metode berikut:

    Dari Konsol DTS

    1. Login ke Data Transmission Service (DTS) console.

    2. Di panel navigasi kiri, klik Data Synchronization.

    3. Di pojok kiri atas halaman, pilih wilayah tempat instans sinkronisasi berada.

    Dari Konsol DMS

    Catatan

    Operasi aktual dapat bervariasi tergantung pada mode dan tata letak Konsol DMS. Untuk informasi selengkapnya, lihat Simple mode dan Customize the layout and style of the DMS interface.

    1. Login ke Data Management (DMS).

    2. Di bilah menu atas, pilih Data + AI > Data Transmission (DTS) > Data Synchronization.

    3. Di sebelah kanan Data Synchronization Tasks, pilih wilayah tempat instans sinkronisasi berada.

  3. Temukan instans sinkronisasi dua arah yang telah Anda buat. Di kolom Actions tugas maju, klik Configure Task.

  4. Konfigurasikan database sumber dan tujuan.

    Bagian

    Parameter

    Deskripsi

    N/A

    Task Name

    DTS secara otomatis menghasilkan nama tugas. Kami menyarankan agar Anda menentukan nama deskriptif untuk memudahkan identifikasi. Nama tersebut tidak harus unik.

    Source Database

    Select Existing Connection

    • Untuk menggunakan instans database yang ditambahkan ke sistem (baru dibuat atau disimpan), pilih instans database dari daftar drop-down. Informasi database dikonfigurasi secara otomatis.

      Catatan

      Di Konsol DMS, item konfigurasi ini bernama Select a DMS database instance..

    • Jika Anda belum menambahkan instans database ke sistem, atau tidak perlu menggunakan instans yang sudah ditambahkan, konfigurasikan secara manual informasi database berikut.

    Database Type

    Pilih PolarDB for PostgreSQL.

    Access Method

    Pilih Alibaba Cloud Instance.

    Instance Region

    Nilai ini tetap ke wilayah yang Anda pilih saat membeli instans. Anda tidak dapat mengubah nilai ini.

    Replicate Data Across Alibaba Cloud Accounts

    Contoh ini menggunakan instans database yang dimiliki oleh Akun Alibaba Cloud saat ini. Pilih No.

    Instance ID

    Pilih ID instans kluster PolarDB for PostgreSQL sumber.

    Database Name

    Masukkan nama database yang berisi objek yang akan disinkronkan di kluster PolarDB for PostgreSQL sumber.

    Database Account

    Masukkan akun database kluster PolarDB for PostgreSQL sumber. Untuk informasi tentang persyaratan izin, lihat Permission requirements for database accounts.

    Database Password

    Masukkan password yang sesuai dengan akun database.

    Destination Database

    Select Existing Connection

    • Untuk menggunakan instans database yang ditambahkan ke sistem (baru dibuat atau disimpan), pilih instans database dari daftar drop-down. Informasi database dikonfigurasi secara otomatis.

      Catatan

      Di Konsol DMS, item konfigurasi ini bernama Select a DMS database instance..

    • Jika Anda belum menambahkan instans database ke sistem, atau tidak perlu menggunakan instans yang sudah ditambahkan, konfigurasikan secara manual informasi database berikut.

    Database Type

    Pilih PostgreSQL.

    Access Method

    Pilih Alibaba Cloud Instance.

    Instance Region

    Nilai ini tetap ke wilayah yang Anda pilih saat membeli instans. Anda tidak dapat mengubah nilai ini.

    Instance ID

    Pilih ID instans ApsaraDB RDS for PostgreSQL tujuan.

    Database Name

    Masukkan nama database yang digunakan untuk menerima data di instans ApsaraDB RDS for PostgreSQL tujuan.

    Database Account

    Masukkan akun database instans ApsaraDB RDS for PostgreSQL tujuan. Untuk informasi tentang persyaratan izin, lihat Permission requirements for database accounts.

    Database Password

    Masukkan password yang sesuai dengan akun database.

    Encryption

    Tentukan apakah akan mengenkripsi koneksi ke database sumber. Anda dapat mengonfigurasi parameter ini sesuai kebutuhan bisnis Anda. Dalam contoh ini, Non-encrypted dipilih.

    Jika Anda ingin membuat koneksi terenkripsi SSL ke database sumber, lakukan langkah-langkah berikut: Pilih SSL-encrypted, unggah CA Certificate, Client Certificate, dan Private Key of Client Certificate sesuai kebutuhan, lalu tentukan Private Key Password of Client Certificate.

    Catatan
    • Jika Anda mengatur Encryption ke SSL-encrypted untuk database PostgreSQL yang dikelola sendiri, Anda harus mengunggah CA Certificate.

    • Jika Anda ingin menggunakan sertifikat klien, Anda harus mengunggah Client Certificate dan Private Key of Client Certificate serta menentukan Private Key Password of Client Certificate.

    • Untuk informasi tentang cara mengonfigurasi enkripsi SSL untuk instans ApsaraDB RDS for PostgreSQL, lihat SSL encryption.

  5. Setelah menyelesaikan konfigurasi, klik Test Connectivity and Proceed di bagian bawah halaman.

    Catatan
    • Pastikan blok CIDR alamat IP server DTS telah ditambahkan ke pengaturan keamanan database sumber dan tujuan untuk mengizinkan akses dari server DTS. Hal ini dapat dilakukan secara otomatis atau manual. Untuk informasi selengkapnya, lihat Add the IP address CIDR blocks of DTS servers to a whitelist.

    • Jika database sumber atau tujuan adalah database yang dikelola sendiri (di mana Access Method bukan Alibaba Cloud Instance), Anda juga harus mengklik Test Connectivity di kotak dialog CIDR Blocks of DTS Servers.

  6. Konfigurasikan objek tugas.

    1. Di halaman Configure Objects, konfigurasikan objek yang akan disinkronkan.

      Parameter

      Deskripsi

      Synchronization Types

      Incremental Data Synchronization dipilih. Secara default, Anda juga harus memilih Schema Synchronization dan Full Data Synchronization. Setelah Pemeriksaan Awal selesai, DTS melakukan sinkronisasi data penuh objek yang dipilih dari instans sumber ke kluster tujuan. Ini berfungsi sebagai data garis dasar untuk sinkronisasi data inkremental berikutnya.

      Exclude DDL Operations

      • Pilih Yes untuk mengecualikan operasi DDL dari sinkronisasi.

      • Pilih No untuk menyinkronkan operasi DDL.

        Penting

        Untuk memastikan stabilitas tautan sinkronisasi dua arah, Anda dapat memilih apakah akan menyinkronkan operasi DDL hanya untuk tugas maju (dari database sumber ke database tujuan). Tugas balik (dari database tujuan ke database sumber) secara otomatis mengecualikan operasi DDL.

      Global Conflict Resolution Policy

      Pilih kebijakan resolusi konflik sesuai kebutuhan bisnis Anda.

      • TaskFailed (If a conflict occurs, an error is reported and the task is stopped)

        Jika terjadi konflik data selama sinkronisasi, tugas melaporkan kesalahan dan berhenti. Tugas masuk ke status Gagal dan memerlukan intervensi manual.

      • Ignore (If a conflict occurs, the conflicting record in the destination instance is used)

        Jika terjadi konflik data selama sinkronisasi, pernyataan sinkronisasi saat ini dilewati dan proses berlanjut. Catatan yang bertentangan di database tujuan dipertahankan.

      • Overwrite (If a conflict occurs, the conflicting record in the destination instance is overwritten)

        Jika terjadi konflik data selama sinkronisasi, catatan yang bertentangan di database tujuan ditimpa.

      Catatan
      • Untuk informasi tentang jenis konflik yang didukung, lihat Supported conflict detection.

      • Jika tugas sinkronisasi dijeda atau dimulai ulang dan terjadi latensi, kebijakan ini tidak berlaku selama periode latensi. Secara default, data di database tujuan ditimpa.

      Processing Mode of Conflicting Tables

      • Precheck and Report Errors: Memeriksa apakah tabel dengan nama yang sama ada di database tujuan. Jika tabel dengan nama yang sama tidak ada, pemeriksaan awal lolos. Jika tabel dengan nama yang sama ada, pemeriksaan awal gagal dan tugas sinkronisasi data tidak dimulai.

        Catatan

        Jika Anda tidak dapat menghapus atau mengganti nama tabel dengan nama yang sama di database tujuan, Anda dapat memetakannya ke nama tabel yang berbeda. Untuk informasi selengkapnya, lihat Map table and column names.

      • Ignore Errors and Proceed: Melewati pemeriksaan nama tabel duplikat di database tujuan.

        Peringatan

        Memilih Ignore Errors and Proceed dapat menyebabkan ketidakkonsistenan data dan membahayakan bisnis Anda. Misalnya:

        • Jika skema tabel sama dan catatan di database tujuan memiliki nilai primary key atau unique key yang sama dengan catatan di database sumber:

          • Selama sinkronisasi penuh, DTS mempertahankan catatan di kluster tujuan. Catatan yang sesuai dari database sumber tidak disinkronkan.

          • Selama sinkronisasi inkremental, catatan dari database sumber menimpa catatan di database tujuan.

        • Jika skema tabel berbeda, sinkronisasi data awal dapat gagal. Hal ini dapat mengakibatkan hanya data kolom parsial yang disinkronkan atau kegagalan sinkronisasi total. Lakukan dengan hati-hati.

      Capitalization of Object Names in Destination Instance

      Anda dapat mengonfigurasi kebijakan sensitivitas huruf besar/kecil untuk nama objek yang dimigrasi, seperti database, tabel, dan kolom, di instans tujuan. Secara default, DTS default policy dipilih. Anda juga dapat memilih untuk menjaga sensitivitas huruf besar/kecil konsisten dengan kebijakan default database sumber atau tujuan. Untuk informasi selengkapnya, lihat Case sensitivity of object names in the destination database.

      Source Objects

      Di kotak Source Objects, klik objek yang akan disinkronkan, lalu klik 向右 untuk memindahkannya ke kotak Selected Objects.

      Catatan
      • Anda dapat memilih skema atau tabel sebagai objek sinkronisasi. Jika Anda memilih tabel, objek lain seperti view, trigger, dan stored procedure tidak disinkronkan ke database tujuan.

      • Jika tabel yang akan disinkronkan berisi kolom SERIAL dan Synchronization Types dipilih Schema Synchronization, disarankan agar Anda juga memilih Sequence atau Full Schema Synchronization.

      Selected Objects

      • Untuk mengubah nama objek di instans tujuan, klik kanan objek di kotak Selected Objects dan modifikasi namanya. Untuk informasi selengkapnya, lihat Map table and column names.

      • Untuk menghapus objek, klik objek di kotak Selected Objects, lalu klik image untuk memindahkannya kembali ke kotak Source Objects.

      Catatan
      • Jika Anda menggunakan fitur pemetaan nama objek, objek lain yang bergantung pada objek yang dipetakan mungkin gagal disinkronkan.

      • Untuk memfilter data menggunakan klausa WHERE, klik kanan tabel di kotak Selected Objects dan tentukan kondisi filter di kotak dialog yang muncul. Untuk informasi selengkapnya, lihat Set filter conditions.

      • Untuk memilih operasi SQL untuk sinkronisasi inkremental, klik kanan objek di kotak Selected Objects dan pilih operasi SQL yang diperlukan di kotak dialog yang muncul.

    2. Klik Next: Advanced Settings untuk mengonfigurasi parameter lanjutan.

      Parameter

      Deskripsi

      Dedicated Cluster for Task Scheduling

      Secara default, DTS menjadwalkan tugas di kluster bersama, dan Anda tidak perlu memilih kluster. Untuk kinerja yang lebih stabil, Anda dapat membeli kluster khusus untuk menjalankan tugas sinkronisasi DTS. Untuk informasi selengkapnya, lihat What is a DTS dedicated cluster?.

      Retry Time for Failed Connections

      Setelah tugas sinkronisasi dimulai, jika koneksi ke database sumber atau tujuan gagal, DTS melaporkan kesalahan dan segera memulai percobaan ulang koneksi. Durasi percobaan ulang default adalah 720 menit. Anda juga dapat menentukan durasi percobaan ulang kustom antara 10 hingga 1.440 menit. Kami menyarankan agar Anda mengatur durasi minimal 30 menit. Jika DTS berhasil terhubung kembali ke database dalam durasi yang ditentukan, tugas sinkronisasi secara otomatis dilanjutkan. Jika tidak, tugas gagal.

      Catatan
      • Jika Anda memiliki beberapa instans DTS (misalnya, Instans A dan Instans B) yang berbagi sumber atau tujuan yang sama, dan Anda mengatur waktu percobaan ulang jaringan menjadi 30 menit untuk Instans A dan 60 menit untuk Instans B, durasi yang lebih pendek yaitu 30 menit digunakan untuk keduanya.

      • Karena DTS membebankan biaya untuk waktu proses tugas selama periode percobaan ulang koneksi, kami menyarankan agar Anda menyesuaikan durasi percobaan ulang sesuai kebutuhan bisnis atau segera melepas instans DTS setelah instans database sumber dan tujuan dilepas.

      Retry Time for Other Issues

      Setelah tugas sinkronisasi dimulai, jika terjadi masalah non-konektivitas lainnya dengan database sumber atau tujuan (seperti pengecualian eksekusi DDL atau DML), DTS melaporkan kesalahan dan segera memulai operasi percobaan ulang berkelanjutan. Durasi percobaan ulang default adalah 10 menit. Anda juga dapat menyesuaikan durasi percobaan ulang dalam rentang 1 hingga 1.440 menit. Kami menyarankan agar Anda mengaturnya minimal 10 menit. Jika operasi terkait berhasil dalam durasi percobaan ulang yang ditetapkan, tugas sinkronisasi secara otomatis dilanjutkan. Jika tidak, tugas gagal.

      Penting

      Nilai untuk Retry Time for Other Issues harus kurang dari nilai untuk Retry Time for Failed Connections.

      Enable Throttling for Full Data Synchronization

      Selama tahap sinkronisasi penuh, DTS mengonsumsi sumber daya baca dan tulis dari database sumber dan tujuan, yang dapat meningkatkan beban database. Untuk mengurangi beban pada database sumber dan tujuan, Anda dapat mengatur batas laju untuk tugas sinkronisasi penuh dengan mengonfigurasi parameter Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s).

      Catatan
      • Item konfigurasi ini tersedia hanya ketika Synchronization Types diatur ke Full Data Synchronization.

      • Anda juga dapat menyesuaikan laju sinkronisasi penuh setelah instans sinkronisasi berjalan.

      Enable Throttling for Incremental Data Synchronization

      Anda juga dapat mengatur batas laju untuk tugas sinkronisasi inkremental. Untuk mengurangi tekanan pada database tujuan, atur RPS of Incremental Data Synchronization dan Data synchronization speed for incremental synchronization (MB/s).

      Environment Tag

      Anda dapat memilih tag lingkungan untuk mengidentifikasi instans sesuai kebutuhan Anda. Contoh ini tidak memerlukan konfigurasi ini.

      Configure ETL

      Pilih apakah akan mengaktifkan fitur ekstrak, transformasi, muat (ETL). Untuk informasi selengkapnya, lihat What is ETL? Nilai yang valid:

    3. Klik Next: Data Validation untuk mengonfigurasi tugas validasi data.

      Jika Anda ingin menggunakan fitur validasi data, lihat Configure data validation untuk instruksi konfigurasi.

  7. Simpan tugas dan jalankan pemeriksaan awal.

    • Untuk melihat parameter API untuk mengonfigurasi instans ini, arahkan kursor ke tombol Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters di gelembung.

    • Jika Anda telah selesai melihat parameter API, klik Next: Save Task Settings and Precheck di bagian bawah halaman.

    Catatan
    • Sebelum pekerjaan sinkronisasi dimulai, DTS menjalankan pemeriksaan awal. Pekerjaan hanya dapat dimulai setelah semua item pemeriksaan awal lolos.

    • Jika pemeriksaan awal gagal, klik View Details untuk item yang gagal. Perbaiki masalah sesuai petunjuk, lalu jalankan pemeriksaan awal lagi.

    • Jika pemeriksaan awal mengembalikan peringatan:

      • Jika item pemeriksaan gagal dan tidak dapat diabaikan, klik View Details di sebelah item tersebut. Ikuti petunjuk untuk memperbaiki masalah, lalu jalankan pemeriksaan awal lagi.

      • Untuk item pemeriksaan yang dapat diabaikan, Anda dapat mengklik Confirm Alert Details, Ignore, OK, dan Precheck Again secara berurutan untuk melewati peringatan dan menjalankan pemeriksaan awal lagi. Jika Anda memilih untuk mengabaikan item peringatan, hal ini dapat menyebabkan masalah seperti ketidakkonsistenan data dan menimbulkan risiko bagi bisnis Anda.

  8. Saat Success Rate untuk pemeriksaan awal adalah 100%, klik Back.

  9. Konfigurasikan tugas sinkronisasi balik.

    1. Tunggu hingga tugas sinkronisasi maju menyelesaikan inisialisasi hingga Status-nya menjadi Running.

    2. Di kolom Actions tugas balik, klik Configure Task.

    3. Ulangi prosedur di Langkah 4 hingga Langkah 7 untuk mengonfigurasi tugas sinkronisasi balik.

      Penting
      • Saat mengonfigurasi tugas sinkronisasi data dalam arah balik, pastikan Anda memilih instans sumber dan tujuan yang benar. Instans sumber dalam arah balik adalah instans tujuan dalam arah maju, sedangkan instans tujuan dalam arah balik adalah instans sumber dalam arah maju. Pastikan juga bahwa pengaturan parameter seperti nama database, akun, dan kata sandi konsisten.

      • Saat mengonfigurasi database sumber dan tujuan tugas sinkronisasi data dalam arah balik, parameter Instance Region tidak dapat dimodifikasi. Jumlah parameter yang perlu dikonfigurasi untuk tugas sinkronisasi data dalam arah balik lebih sedikit daripada untuk tugas sinkronisasi data dalam arah maju. Konfigurasikan parameter yang ditampilkan di Konsol.

      • Saat DTS memeriksa tabel yang bertentangan dalam arah balik, tabel yang telah disinkronkan ke instans tujuan dalam arah maju diabaikan dalam Processing Mode of Conflicting Tables.

      • Anda tidak dapat memilih Selected Objects tugas sinkronisasi data dalam arah maju untuk tugas sinkronisasi data dalam arah balik.

      • Kami menyarankan agar Anda tidak menggunakan fitur pemetaan nama objek saat mengonfigurasi tugas sinkronisasi data dalam arah balik. Jika digunakan, ketidakkonsistenan data dapat terjadi.

    4. Saat Success Rate untuk pemeriksaan awal adalah 100%, klik Back.

  10. Setelah tugas sinkronisasi balik dikonfigurasi, tunggu hingga Status kedua tugas maju dan balik menjadi Running. Hal ini menunjukkan bahwa sinkronisasi data dua arah berhasil dikonfigurasi.