全部产品
Search
文档中心

Data Transmission Service:Sinkronisasi Dua Arah Antara PolarDB for PostgreSQL dan RDS PostgreSQL

更新时间:Mar 06, 2026

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

Prasyarat

Catatan

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

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

Type

Description

Batasan database sumber

  • Dalam kluster PolarDB for PostgreSQL, tabel yang akan disinkronkan harus memiliki primary key atau indeks unik 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 replikasi logis di database sumber, jika satu data yang akan disinkronkan melebihi 256 MB setelah perubahan inkremental, instans sinkronisasi dapat gagal dan tidak dapat dipulihkan. Anda harus mengonfigurasi ulang instans sinkronisasi.

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

    Catatan

    Selama sinkronisasi penuh, DTS melakukan kueri ke database sumber. Hal ini membuat kunci metadata yang 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 berbasis ekspresi.

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

  • Dalam 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 melewati item pemeriksaan awal terkait, DTS akan menjalankan perintah ini secara otomatis selama inisialisasi instans.

    • Saat instans dijalankan pertama kali.

    • 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
    • Dalam perintah tersebut, ganti schema dan table dengan nama skema dan nama tabel yang sebenarnya.

    • Kami menyarankan agar 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 agar Anda juga memilih Sequence atau menyinkronkan seluruh skema. Jika tidak, instans 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 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 tidak, 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 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 instans sinkronisasi dilepas, DTS akan mencoba membersihkan slot replikasi secara otomatis.

    Catatan
    • Jika Anda mengubah kata sandi 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 di 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 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 akan 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 mengalihkan bisnis ke instans 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 kunci asing, pemicu, atau pemicu event, DTS secara 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` adalah `replica`), jika operasi pembaruan atau penghapusan kaskade terjadi di database sumber, ketidakkonsistenan data dapat terjadi. Setelah tugas DTS dilepas, Anda dapat mengubah parameter `session_replication_role` kembali ke `origin`.

  • Jika tugas gagal, staf dukungan DTS akan mencoba memulihkannya dalam waktu delapan jam. Selama pemulihan, mereka mungkin me-restart tugas atau menyesuaikan parameternya.

    Catatan

    Hanya parameter tugas DTS yang dimodifikasi—bukan parameter database. Parameter yang mungkin disesuaikan termasuk yang tercantum dalam Ubah parameter instans.

  • Saat Anda menyinkronkan tabel partisi, Anda harus menyertakan tabel induk dan partisi anaknya sebagai objek sinkronisasi. Jika tidak, ketidakkonsistenan data dapat terjadi untuk 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, menyebabkan ketidakkonsistenan data antara sumber dan tujuan.

Penagihan

Jenis sinkronisasi

Harga

Sinkronisasi skema dan sinkronisasi data penuh

Gratis.

Sinkronisasi data inkremental

Dikenai biaya. Untuk informasi lebih lanjut, lihat Ikhtisar penagihan.

Deteksi Konflik yang Didukung

Untuk memastikan konsistensi data, pastikan bahwa 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, pernyataan 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 mengubah 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 Sinkronisasi yang Didukung

SCHEMA, TABLE

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

  • Fitur yang didukung untuk jenis database ini sebagai sumber bervariasi berdasarkan jenis database tujuan. Untuk informasi lebih lanjut, lihat halaman konfigurasi di konsol.

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.

Jenis operasi

Pernyataan SQL

DML

INSERT, UPDATE, DELETE

DDL

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

    Penting
  • Jika akun database sumber memiliki izin 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, ALTER COLUMN DROP DEFAULT)

    • TRUNCATE TABLE (database engine dari PolarDB for PostgreSQL sumber harus PostgreSQL 11 atau lebih baru)

    • CREATE INDEX ON TABLE

Penting
  • Pernyataan DDL yang mengandung klausa tambahan seperti CASCADE atau RESTRICT tidak didukung.

  • Pernyataan DDL yang dieksekusi dalam sesi di mana SET session_replication_role = replica diatur tidak didukung.

  • Pernyataan DDL yang dieksekusi dengan memanggil fungsi tidak didukung.

  • Jika satu transaksi berisi pernyataan DML dan DDL, pernyataan DDL tidak disinkronkan.

  • Jika satu transaksi berisi pernyataan DDL untuk objek yang tidak dipilih untuk sinkronisasi, pernyataan DDL tersebut tidak disinkronkan.

Izin Akun Database

Database

Izin yang Diperlukan

Pembuatan dan Otorisasi Akun

PolarDB for PostgreSQL

Akun istimewa dan pemilik database.

Buat akun database dan Manajemen database.

RDS PostgreSQL

Akun istimewa dan pemilik database (akun yang diotorisasi).

Buat akun dan Buat database.

Prosedur

  1. Beli instance sinkronisasi dua arah. Untuk informasi lebih lanjut, lihat Beli instance sinkronisasi data.

    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 lain 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 Data Transmission Service (DTS) console.

    2. Di panel navigasi kiri, klik Data Synchronization.

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

    Dari konsol DMS

    Catatan

    Operasi aktual dapat bervariasi berdasarkan mode dan tata letak konsol DMS. Untuk informasi lebih lanjut, 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. Di kolom Actions tugas maju, klik Configure Task.

  4. Konfigurasikan database sumber dan tujuan.

    Kategori

    Konfigurasi

    Deskripsi

    Tidak ada

    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 informasi database berikut secara manual.

    Database Type

    Pilih PolarDB for PostgreSQL.

    Access Method

    Pilih Alibaba Cloud Instance.

    Instance Region

    Ini tetap pada wilayah yang dipilih saat membeli instans dan tidak dapat diubah.

    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 kluster PolarDB for PostgreSQL sumber.

    Database Name

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

    Database Account

    Masukkan akun database untuk kluster PolarDB for PostgreSQL sumber. Untuk informasi lebih lanjut, lihat Izin yang diperlukan untuk akun database.

    Database Password

    Masukkan kata sandi 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 informasi database berikut secara manual.

    Database Type

    Pilih PostgreSQL.

    Access Method

    Pilih Alibaba Cloud Instance.

    Instance Region

    Ini tetap pada wilayah yang dipilih saat membeli instans dan tidak dapat diubah.

    Instance ID

    Pilih ID instance RDS PostgreSQL tujuan.

    Database Name

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

    Database Account

    Masukkan akun database untuk instance RDS PostgreSQL target. Untuk izin yang diperlukan, lihat Izin yang diperlukan untuk akun database.

    Database Password

    Masukkan kata sandi yang sesuai dengan akun database.

    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 lebih lanjut, 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 dari 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: Operasi DDL tidak disinkronkan.

      • Pilih No: Operasi DDL disinkronkan.

        Penting

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

      Global Conflict Resolution Policy

      Pilih kebijakan resolusi konflik berdasarkan kebutuhan 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 Deteksi Konflik yang Didukung.

      • Jika tugas sinkronisasi dijeda atau dimulai ulang dan terjadi keterlambatan sinkronisasi, kebijakan ini tidak berlaku selama keterlambatan tersebut. Secara default, data di 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 berhasil. 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 lebih lanjut, lihat Pemetaan 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 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 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 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 lebih lanjut, 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
      • 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 tipe data SERIAL, dan Anda memilih Schema Synchronization sebagai Synchronization Types, kami menyarankan agar Anda juga memilih Sequence atau sinkronisasi seluruh skema.

      Selected Objects

      • Untuk mengubah nama objek di instans tujuan, klik kanan objek di kotak Selected Objects dan ubah namanya. Untuk informasi lebih lanjut, lihat Pemetaan nama tabel dan kolom.

      • 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 lebih lanjut, lihat Filter kolom.

      • Untuk memilih operasi SQL untuk sinkronisasi inkremental, klik kanan objek di kotak Selected Objects. Di kotak dialog yang muncul, pilih operasi SQL yang ingin Anda sinkronkan.

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

      Konfigurasi

      Deskripsi

      Dedicated Cluster for Task Scheduling

      Secara default, DTS menjadwalkan tugas pada 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 lebih lanjut, lihat Apa itu kluster 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 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 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 digunakan untuk keduanya.

      • Karena DTS mengenakan biaya untuk waktu proses tugas selama periode percobaan ulang koneksi, kami menyarankan agar 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 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 instance sinkronisasi sedang 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

      Jika diperlukan, pilih tag lingkungan untuk mengidentifikasi instance. Untuk contoh ini, tidak perlu pemilihan.

      Configure ETL

      Pilih apakah akan mengaktifkan fitur ekstrak, transformasi, muat (ETL). Untuk informasi lebih lanjut, 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 instruksi 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 lulus.

    • 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 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 adalah 100%, klik Back.

  9. Konfigurasikan tugas sinkronisasi balik.

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

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

    3. Lihat 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 kata sandi, konsisten.

      • Instance Region database sumber dan tujuan tidak dapat dimodifikasi untuk tugas sinkronisasi balik. Lebih sedikit parameter yang tersedia untuk konfigurasi dibandingkan dengan 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 agar Anda tidak menggunakan fitur pemetaan saat mengonfigurasi tugas balik. Jika tidak, ketidakkonsistenan data dapat terjadi.

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

  10. Setelah tugas sinkronisasi balik dikonfigurasi, tunggu hingga Status kedua tugas sinkronisasi menjadi Running. Ini menyelesaikan proses konfigurasi sinkronisasi data dua arah.