全部产品
Search
文档中心

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

更新时间:Feb 05, 2026

Data Transmission Service (DTS) mendukung sinkronisasi data dua arah secara real-time antara klaster PolarDB for PostgreSQL dan database PostgreSQL, seperti instance RDS for PostgreSQL dan database PostgreSQL yang dikelola sendiri. Topik ini menjelaskan cara mengonfigurasi sinkronisasi data dua arah menggunakan instance RDS for PostgreSQL sebagai tujuan. Proses konfigurasi serupa berlaku untuk sumber data lainnya.

Prasyarat

  • Anda telah membuat klaster PolarDB for PostgreSQL sebagai sumber dan instance RDS for PostgreSQL sebagai tujuan. Untuk informasi selengkapnya, lihat Buat klaster database dan Buat instance ApsaraDB RDS for PostgreSQL.

    Catatan
    • Untuk informasi versi database sumber dan tujuan yang didukung, lihat Solusi sinkronisasi.

    • Pastikan database sumber dan tujuan memiliki ruang penyimpanan yang cukup.

  • Anda telah membuat database di instance RDS for PostgreSQL tujuan untuk menerima data. Untuk informasi selengkapnya, lihat Buat database.

  • Parameter wal_level pada klaster PolarDB for PostgreSQL sumber dan instance RDS for PostgreSQL tujuan harus diatur ke logical. Untuk informasi selengkapnya, lihat Atur Parameter Klaster dan Atur Parameter Instance.

Catatan

Catatan
  • Selama sinkronisasi skema, DTS menyinkronkan foreign key dari database sumber ke database tujuan.

  • Selama sinkronisasi data penuh awal dan sinkronisasi data inkremental, DTS sementara menonaktifkan pemeriksaan kendala dan operasi kaskade foreign key pada tingkat sesi. Ketidakkonsistenan data dapat terjadi jika operasi pembaruan atau penghapusan kaskade dilakukan pada database sumber saat tugas sedang berjalan.

Tipe

Deskripsi

Batasan database sumber

  • Pada klaster PolarDB for PostgreSQL, tabel yang akan disinkronkan harus memiliki primary key atau indeks unik non-null.

  • Jika database sumber memiliki transaksi jangka panjang dan instance 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, klaster PolarDB for PostgreSQL harus mendukung dan mengaktifkan Logical Replication Slot Failover.

    Catatan

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

  • Karena batasan replikasi logis pada database sumber, jika satu bagian data yang akan disinkronkan melebihi 256 MB setelah perubahan inkremental, instance sinkronisasi dapat gagal dan tidak dapat dipulihkan. Anda harus mengonfigurasi ulang instance sinkronisasi tersebut.

  • Selama sinkronisasi skema dan sinkronisasi data penuh, jangan lakukan operasi Data Definition Language (DDL) yang mengubah skema database atau tabel. Jika tidak, tugas sinkronisasi data akan gagal.

    Catatan

    Selama fase sinkronisasi penuh, DTS melakukan kueri ke database sumber, yang mengakuisisi kunci metadata. Hal ini dapat memblokir operasi DDL pada database sumber.

Batasan lainnya

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

  • DTS tidak mendukung penyinkronan tabel ekstensi TimescaleDB, tabel dengan pewarisan lintas-skema, atau tabel dengan indeks unik berdasarkan ekspresi.

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

  • Pada tiga skenario berikut, Anda harus menjalankan perintah ALTER TABLE schema.table REPLICA IDENTITY FULL; pada tabel yang akan disinkronkan di database sumber sebelum menulis data ke dalamnya. Hal ini memastikan konsistensi data. Jangan mengunci tabel saat menjalankan perintah ini untuk mencegah deadlock. Jika Anda melewatkan item pemeriksaan awal terkait, DTS secara otomatis menjalankan perintah ini selama inisialisasi instance.

    • Saat instance dijalankan untuk pertama kalinya.

    • Saat Anda memilih Skema sebagai granularitas pemilihan objek, dan tabel baru dibuat dalam skema tersebut atau tabel yang akan disinkronkan dibangun ulang menggunakan perintah RENAME.

    • Saat Anda menggunakan fitur untuk memodifikasi objek sinkronisasi.

    Catatan
    • Pada perintah tersebut, ganti schema dan table dengan nama skema dan nama tabel yang sebenarnya.

    • Kami menyarankan Anda melakukan operasi ini selama jam sepi.

  • Jika tabel yang akan disinkronkan berisi field bertipe SERIAL, database sumber secara otomatis membuat Sequence untuk field tersebut. Oleh karena itu, saat Anda mengonfigurasi Source Objects, jika Anda memilih Schema Synchronization untuk Synchronization Types, kami menyarankan Anda juga memilih Sequence atau menyinkronkan seluruh skema. Jika tidak, instance sinkronisasi mungkin gagal dijalankan.

  • Selama sinkronisasi data penuh awal, DTS mengonsumsi sumber daya baca dan tulis pada database sumber dan tujuan, yang dapat meningkatkan beban database. Oleh karena itu, evaluasi performa 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 instance sumber setelah sinkronisasi penuh selesai.

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

  • Instance sinkronisasi dua arah mencakup tugas maju dan tugas balik. Saat Anda mengonfigurasi atau mengatur ulang instance sinkronisasi dua arah, jika objek tujuan salah satu tugas adalah objek sumber tugas lainnya:

    • Hanya satu tugas yang dapat menyinkronkan data penuh dan inkremental. Tugas lainnya hanya dapat menyinkronkan data inkremental.

    • Data sumber tugas saat ini hanya dapat disinkronkan ke tujuan tugas saat ini. Data yang disinkronkan tidak akan digunakan sebagai data sumber untuk tugas lainnya.

  • Selama sinkronisasi data, DTS membuat slot replikasi dengan awalan dts_sync_ di database sumber untuk mereplikasi data. Slot replikasi ini memungkinkan DTS memperoleh log inkremental dari database sumber dalam 15 menit terakhir. Saat sinkronisasi data gagal atau instance sinkronisasi dilepas, DTS berusaha membersihkan slot replikasi secara otomatis.

    Catatan
    • Jika Anda mengubah password akun database sumber yang digunakan oleh tugas atau menghapus alamat IP DTS dari daftar putih database sumber selama sinkronisasi data, slot replikasi tidak dapat dibersihkan secara otomatis. Dalam kasus ini, Anda harus membersihkan slot replikasi secara manual di database sumber. Hal ini mencegah slot terus menumpuk dan mengonsumsi ruang disk, yang dapat membuat database sumber tidak tersedia.

    • Jika terjadi failover pada database sumber, Anda harus login ke database sekunder untuk membersihkan slot secara manual.

    Amazon slot查询信息

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

  • DTS membuat tabel temporary berikut di database sumber untuk memperoleh pernyataan DDL untuk data inkremental, struktur tabel inkremental, dan informasi heartbeat. Jangan menghapus tabel temporary ini selama sinkronisasi. Jika tidak, tugas DTS menjadi abnormal. Tabel temporary ini secara otomatis dihapus setelah instance 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 mengalihkan bisnis ke instance tujuan, sequence baru tidak dimulai dari nilai maksimum sequence sumber. Sebelum alih bisnis, Anda harus mengkueri nilai maksimum sequence yang sesuai di database sumber, lalu mengaturnya sebagai nilai awal untuk sequence yang sesuai di database tujuan. Perintah berikut mengkueri nilai sequence 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 dikembalikan setelah menjalankan perintah berisi semua sequence dari database sumber. Jalankan pernyataan SQL tersebut di database tujuan sesuai kebutuhan.

  • Untuk tugas sinkronisasi penuh atau inkremental, jika tabel yang akan disinkronkan di database sumber berisi foreign key, trigger, atau event trigger, DTS sementara mengatur parameter `session_replication_role` ke `replica` pada tingkat sesi jika akun database tujuan adalah akun istimewa atau memiliki izin superuser. Jika akun database tujuan tidak memiliki izin tersebut, Anda harus mengatur parameter `session_replication_role` ke `replica` secara manual di database tujuan. Selama periode ini (saat `session_replication_role` bernilai `replica`), jika operasi pembaruan atau penghapusan kaskade terjadi di database sumber, ketidakkonsistenan data dapat terjadi. Setelah tugas DTS dilepas, Anda dapat mengubah kembali parameter `session_replication_role` ke `origin`.

  • Jika tugas gagal, dukungan teknis DTS akan berusaha memulihkannya dalam waktu 8 jam. Selama proses pemulihan, operasi seperti merestart tugas atau menyesuaikan parameternya mungkin dilakukan.

    Catatan

    Saat parameter disesuaikan, hanya parameter tugas DTS yang dimodifikasi. Parameter database tetap tidak berubah. Parameter yang mungkin dimodifikasi termasuk tetapi tidak terbatas pada yang dijelaskan dalam Modify instance parameters.

  • Saat Anda menyinkronkan tabel partisi, Anda harus menyertakan baik tabel induk maupun partisi anaknya sebagai objek sinkronisasi. Jika tidak, ketidakkonsistenan data dapat terjadi pada tabel partisi tersebut.

    Catatan

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

Penagihan

Tipe sinkronisasi

Harga

Sinkronisasi skema dan sinkronisasi data penuh

Gratis.

Sinkronisasi data inkremental

Dikenakan biaya. Untuk informasi selengkapnya, lihat Ikhtisar penagihan.

Deteksi konflik 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 instance database dalam sinkronisasi dua arah. Jika catatan data diperbarui di kedua instance database, sistem DTS akan menerapkan kebijakan resolusi konflik yang dikonfigurasi dalam tugas tersebut.

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

  • Konflik keunikan yang disebabkan oleh operasi INSERT

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

  • Catatan yang tidak cocok dalam operasi UPDATE

    • Jika catatan yang akan diperbarui tidak ada di instance tujuan, DTS mengonversi operasi UPDATE menjadi operasi INSERT. Namun, konflik keunikan mungkin terjadi.

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

  • Catatan yang tidak ada untuk dihapus

    Catatan yang akan dihapus tidak ada di instance 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 instance 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 untuk disinkronkan

  • SCHEMA, TABLE

    Catatan

    Ini mencakup PRIMARY KEY, UNIQUE KEY, FOREIGN KEY, DATATYPE (tipe data bawaan), dan DEFAULT CONSTRAINT.

  • VIEW, PROCEDURE (PostgreSQL 11 atau lebih baru), FUNCTION, RULE, SEQUENCE, EXTENSION, TRIGGER, AGGREGATE, INDEX, OPERATOR, DOMAIN

Operasi SQL yang didukung

Penting

Operasi Data Definition Language (DDL) hanya dapat disinkronkan dalam tugas maju, dari database sumber ke database tujuan. Operasi DDL tidak didukung dalam tugas balik, dari database tujuan ke database sumber, dan secara otomatis difilter.

Tipe operasi

Pernyataan operasi SQL

DML

INSERT, UPDATE, DELETE

DDL

  • Hanya tugas sinkronisasi data yang dibuat setelah 1 Oktober 2020 yang mendukung operasi DDL.

    Penting
  • Jika akun database sumber adalah akun istimewa, tugas sinkronisasi 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 (Database engine database PolarDB for PostgreSQL sumber harus PostgreSQL 11 atau lebih baru)

    • CREATE INDEX ON TABLE

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

  • DDL tidak didukung dalam sesi yang menggunakan perintah SET session_replication_role = replica.

  • Pernyataan DDL yang dieksekusi dengan memanggil metode seperti fungsi tidak disinkronkan.

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

  • Jika satu commit ke database sumber berisi pernyataan DDL untuk objek yang tidak dikonfigurasi untuk sinkronisasi, pernyataan DDL tersebut tidak disinkronkan.

Izin akun database

Database

Izin yang diperlukan

Metode pembuatan dan otorisasi akun

PolarDB for PostgreSQL

Akun istimewa yang merupakan pemilik database.

Lihat Buat akun database dan Manajemen database.

RDS for PostgreSQL

Akun istimewa yang merupakan pemilik database (akun yang diotorisasi).

Lihat Buat akun dan Buat database.

Prosedur

  1. Beli instance sinkronisasi dua arah. Untuk informasi selengkapnya, lihat Prosedur pembelian.

    Penting

    Saat membeli instance, atur Feature ke Data Synchronization, Source Instance ke PolarDB PostgreSQL, Destination Instance ke PostgreSQL, dan Synchronization Topology ke Two-way Synchronization. Konfigurasikan parameter lainnya sesuai kebutuhan.

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

    Dari konsol DTS

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

    2. Di panel navigasi sebelah kiri, klik Data Synchronization.

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

    Dari konsol DMS

    Catatan

    Operasi aktual dapat berbeda tergantung pada mode dan tata letak konsol DMS. Untuk informasi selengkapnya, lihat Mode sederhana dan Sesuaikan tata letak dan gaya antarmuka DMS.

    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 instance sinkronisasi berada.

  3. Temukan instance sinkronisasi dua arah yang telah dibuat. Di kolom Actions tugas maju, klik Configure Task.

  4. Konfigurasikan database sumber dan tujuan.

    Kategori

    Konfigurasi

    Deskripsi

    N/A

    Task Name

    DTS secara otomatis menghasilkan nama tugas. Kami menyarankan Anda menentukan nama deskriptif agar mudah diidentifikasi. Nama tersebut tidak harus unik.

    Source Database

    Select Existing Connection

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

      Catatan

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

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

    Database Type

    Pilih PolarDB for PostgreSQL.

    Access Method

    Pilih Alibaba Cloud Instance.

    Instance Region

    Ini tetap pada wilayah yang Anda pilih saat membeli instance dan tidak dapat diubah.

    Replicate Data Across Alibaba Cloud Accounts

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

    Instance ID

    Pilih ID klaster PolarDB for PostgreSQL sumber.

    Database Name

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

    Database Account

    Masukkan akun database klaster PolarDB for PostgreSQL sumber. Untuk persyaratan izin, lihat Izin akun database.

    Database Password

    Masukkan password yang sesuai dengan akun database tersebut.

    Destination Database

    Select Existing Connection

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

      Catatan

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

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

    Database Type

    Pilih PostgreSQL.

    Access Method

    Pilih Alibaba Cloud Instance.

    Instance Region

    Ini tetap pada wilayah yang Anda pilih saat membeli instance dan tidak dapat diubah.

    Instance ID

    Pilih ID instance RDS for PostgreSQL tujuan.

    Database Name

    Masukkan nama database yang akan menerima data di instance RDS for PostgreSQL tujuan.

    Database Account

    Masukkan akun database instance RDS for PostgreSQL tujuan. Untuk persyaratan izin, lihat Izin akun database.

    Database Password

    Masukkan password yang sesuai dengan akun database tersebut.

    Encryption

    Menentukan apakah akan mengenkripsi koneksi ke database sumber. Anda dapat mengonfigurasi parameter ini berdasarkan 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 instance ApsaraDB RDS for PostgreSQL, lihat Enkripsi SSL.

  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 Tambahkan blok CIDR alamat IP server DTS ke daftar putih.

    • 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.

      Konfigurasi

      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 instance sumber ke klaster tujuan. Hal ini berfungsi sebagai data garis dasar untuk sinkronisasi data inkremental berikutnya.

      Exclude DDL Operations

      • Jika Anda memilih Yes, operasi DDL tidak disinkronkan.

      • Jika Anda memilih No, operasi DDL disinkronkan.

        Penting

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

      Global Conflict Resolution Policy

      Pilih kebijakan resolusi konflik sesuai kebutuhan.

      • 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 Deteksi konflik yang didukung.

      • Jika tugas sinkronisasi dijeda atau dimulai ulang dan terjadi penundaan, kebijakan ini tidak berlaku selama penundaan. Data di tujuan ditimpa secara default.

      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 Petakan nama tabel dan kolom.

      • 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 klaster 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 mungkin 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 dimigrasikan, seperti database, tabel, dan kolom, di instance 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 Sensitivitas huruf besar/kecil nama objek di database tujuan.

      Source Objects

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

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

      • Jika tabel yang akan disinkronkan berisi tipe data SERIAL, dan Anda memilih Schema Synchronization sebagai Synchronization Types, kami menyarankan Anda juga memilih Sequence atau sinkronisasi seluruh skema.

      Selected Objects

      • Untuk mengganti nama objek sinkronisasi di instans tujuan, klik kanan objek di kotak Selected Objects dan edit namanya. Untuk informasi selengkapnya, lihat Pemetaan nama skema, tabel, dan kolom.

      • Untuk menghapus objek sinkronisasi yang dipilih, klik objek tersebut di kotak Selected Objects, lalu klik image untuk memindahkannya 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 dengan klausa WHERE, klik kanan tabel target di kotak Selected Objects dan atur kondisi filter di kotak dialog yang muncul. Untuk informasi selengkapnya, lihat Atur kondisi filter.

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

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

      Konfigurasi

      Deskripsi

      Dedicated Cluster for Task Scheduling

      Secara default, DTS menjadwalkan tugas pada klaster bersama, dan Anda tidak perlu memilih klaster. Untuk performa yang lebih stabil, Anda dapat membeli klaster khusus untuk menjalankan tugas sinkronisasi DTS. Untuk informasi selengkapnya, lihat Apa itu klaster khusus DTS?.

      Retry Time for Failed Connections

      Setelah tugas sinkronisasi dimulai, jika koneksi ke database sumber atau tujuan gagal, DTS melaporkan kesalahan dan segera mulai mencoba menghubungkan kembali. Durasi percobaan ulang default adalah 720 menit. Anda juga dapat menentukan durasi percobaan ulang kustom dari 10 hingga 1.440 menit. Kami menyarankan 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 instance DTS (misalnya, Instance A dan Instance B) yang berbagi sumber atau tujuan yang sama, dan Anda mengatur waktu percobaan ulang jaringan menjadi 30 menit untuk Instance A dan 60 menit untuk Instance B, durasi yang lebih pendek yaitu 30 menit akan digunakan untuk keduanya.

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

      Retry Time for Other Issues

      Setelah tugas sinkronisasi dimulai, jika terjadi masalah non-konektivitas lainnya pada database sumber atau tujuan (seperti pengecualian eksekusi DDL atau DML), DTS melaporkan kesalahan dan segera mulai melakukan operasi percobaan ulang terus-menerus. Durasi percobaan ulang default adalah 10 menit. Anda juga dapat menyesuaikan durasi percobaan ulang dalam rentang 1 hingga 1.440 menit. Kami menyarankan 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 hanya tersedia saat Synchronization Types diatur ke Full Data Synchronization.

      • Anda juga dapat menyesuaikan laju sinkronisasi penuh setelah instance 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 instance sesuai kebutuhan. Contoh ini tidak memerlukan pemilihan.

      Configure ETL

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

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

      Jika Anda ingin menggunakan fitur validasi data, lihat Konfigurasikan validasi data untuk petunjuk konfigurasi.

  7. Simpan tugas dan jalankan pemeriksaan awal.

    • Untuk melihat parameter API untuk mengonfigurasi instance 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 kembali pemeriksaan awal.

    • 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 kembali pemeriksaan awal.

      • Untuk item pemeriksaan yang dapat diabaikan, Anda dapat mengklik Confirm Alert Details, Ignore, OK, dan Precheck Again secara berurutan untuk melewati peringatan dan menjalankan kembali pemeriksaan awal. 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 mencapai 100%, klik Back.

  9. Konfigurasikan tugas sinkronisasi balik.

    1. Tunggu hingga sinkronisasi awal tugas sinkronisasi maju selesai. Proses selesai saat Status berubah menjadi Running.

    2. Klik Configure Task pada kolom Actions tugas jarak jauh.

    3. Merujuk ke Langkah 4 hingga Langkah 7 untuk mengonfigurasi tugas sinkronisasi balik.

      Penting
      • Saat mengonfigurasi tugas sinkronisasi balik, Anda harus memilih instance sumber dan tujuan yang benar. Instance sumber dalam tugas balik adalah instance tujuan dalam tugas maju. Instance tujuan dalam tugas balik adalah instance sumber dalam tugas maju. Anda juga harus memastikan bahwa informasi instance, seperti nama database, akun, dan password, konsisten.

      • Instance Region database sumber dan tujuan tidak dapat dimodifikasi untuk tugas sinkronisasi balik. Lebih sedikit parameter yang tersedia untuk konfigurasi dibandingkan tugas sinkronisasi maju. Konfigurasikan parameter yang ditampilkan di konsol.

      • Processing Mode of Conflicting Tables untuk tugas sinkronisasi balik tidak memeriksa tabel yang disinkronkan ke instance tujuan oleh tugas sinkronisasi maju.

      • Tugas sinkronisasi balik tidak mendukung penyinkronan objek yang tidak ada dalam daftar Selected Objects tugas maju.

      • Kami menyarankan Anda tidak menggunakan fitur pemetaan saat mengonfigurasi tugas balik. Jika tidak, ketidakkonsistenan data dapat terjadi.

    4. Saat Success Rate mencapai 100%, klik Back.

  10. Setelah tugas sinkronisasi balik dikonfigurasi, tunggu hingga Status kedua tugas sinkronisasi berubah menjadi Running. Konfigurasi untuk sinkronisasi data dua arah kini telah selesai.