全部产品
Search
文档中心

Data Transmission Service:Konfigurasikan sinkronisasi data dua arah antara instans ApsaraDB RDS untuk PostgreSQL dan klaster PolarDB untuk PostgreSQL

更新时间:Jul 03, 2025

Data Transmission Service (DTS) mendukung sinkronisasi data dua arah antara klaster PolarDB untuk PostgreSQL dan instans ApsaraDB RDS untuk PostgreSQL atau database PostgreSQL yang dikelola sendiri. Fitur ini cocok untuk skenario seperti redundansi geo aktif dan pemulihan bencana geo. Topik ini menjelaskan cara mengonfigurasi sinkronisasi data dua arah antara instans ApsaraDB RDS untuk PostgreSQL dan klaster PolarDB untuk PostgreSQL. Anda juga dapat mengikuti prosedur ini untuk mengonfigurasi sinkronisasi data dua arah antara database PostgreSQL yang dikelola sendiri dan klaster PolarDB untuk PostgreSQL.

Prasyarat

Catatan penggunaan

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

  • Selama sinkronisasi data penuh dan sinkronisasi data tambahan, DTS sementara menonaktifkan pengecekan kendala dan operasi kaskade pada kunci asing di tingkat sesi. Jika Anda melakukan operasi pembaruan kaskade dan penghapusan pada database sumber selama sinkronisasi data, ketidaksesuaian data mungkin terjadi.

Kategori

Deskripsi

Batasan pada database sumber

  • Tabel yang akan disinkronkan harus memiliki kendala PRIMARY KEY atau UNIQUE dan semua bidang harus unik. Jika tidak, database tujuan mungkin berisi catatan data duplikat.

    Catatan

    Jika tabel tujuan untuk menerima data dalam tugas sinkronisasi data yang Anda buat tanpa menggunakan DTS (Synchronization Types tidak dipilih untuk Schema Synchronization), pastikan bahwa tabel dan tabel yang akan disinkronkan dari database sumber memiliki kendala PRIMARY KEY atau NOT NULL UNIQUE yang sama. Jika tidak, database tujuan mungkin berisi catatan data duplikat.

  • Jika Anda memilih tabel sebagai objek yang akan disinkronkan dan ingin mengedit tabel, seperti mengganti nama tabel atau kolom di database tujuan, Anda dapat menyinkronkan hingga 5.000 tabel dalam satu tugas sinkronisasi data. Jika Anda menjalankan tugas untuk menyinkronkan lebih dari 5.000 tabel, kesalahan permintaan terjadi. Dalam hal ini, kami sarankan Anda mengonfigurasi beberapa tugas untuk menyinkronkan tabel atau mengonfigurasi tugas untuk menyinkronkan seluruh database.

  • Persyaratan berikut untuk log WAL harus dipenuhi:

    • Nilai parameter wal_level harus logis.

    • Jika Anda hanya melakukan sinkronisasi data inkremental, log WAL dari database sumber harus disimpan selama lebih dari 24 jam. Jika Anda melakukan sinkronisasi data penuh dan sinkronisasi data inkremental, log WAL dari database sumber harus disimpan setidaknya selama tujuh hari. Setelah sinkronisasi data penuh selesai, Anda dapat mengatur periode retensi menjadi lebih dari 24 jam. Jika tidak, DTS mungkin gagal mendapatkan log WAL dan tugas mungkin gagal. Dalam keadaan luar biasa, ketidaksesuaian data atau kehilangan data mungkin terjadi. Pastikan Anda mengatur periode retensi log WAL berdasarkan persyaratan yang disebutkan sebelumnya. Jika tidak, keandalan layanan atau kinerja dalam Service Level Agreement (SLA) DTS mungkin tidak dijamin.

  • Jika database sumber memiliki transaksi jangka panjang dan data tambahan disinkronkan dalam tugas sinkronisasi data, log write-ahead logging (WAL) yang dihasilkan sebelum transaksi jangka panjang di database sumber dikomit mungkin terakumulasi. Akibatnya, ruang disk dari database sumber mungkin menjadi tidak mencukupi.

  • Langganan logis dari database sumber memiliki batasan penggunaan DTS. Jika ukuran data tunggal yang disinkronkan dari database sumber melebihi 256 MB saat terjadi perubahan data tambahan, instance sinkronisasi data yang sedang berjalan akan gagal dan tidak dapat dipulihkan. Anda harus mengonfigurasi ulang tugas tersebut.

  • Selama sinkronisasi skema dan sinkronisasi data penuh, jangan jalankan pernyataan DDL untuk mengubah skema database atau tabel. Jika tidak, tugas sinkronisasi data gagal.

  • Jika peningkatan versi utama dilakukan pada database sumber dari instans sinkronisasi data yang sedang berjalan, instans gagal berjalan dan tidak dapat dipulihkan. Anda perlu mengonfigurasi tugas lagi.

Batasan lainnya

  • Tugas sinkronisasi data dapat menyinkronkan data dari hanya satu database. Untuk menyinkronkan data dari beberapa database, Anda harus membuat tugas sinkronisasi data untuk setiap database.

  • DTS tidak dapat menyinkronkan tabel yang memiliki hubungan warisan lintas skema.

  • Jika tabel yang akan disinkronkan berisi tipe data SERIAL, DTS secara otomatis membuat urutan untuk tipe data tersebut di database sumber. Saat Anda mengonfigurasi Source Objects dan memilih Synchronization Types sebagai Schema Synchronization, kami sarankan Anda juga memilih Urutan atau sinkronisasi skema lengkap. Jika tidak, instans sinkronisasi gagal berjalan.

  • Jika Anda menjalankan tugas sinkronisasi data penuh atau tambahan, tabel yang akan disinkronkan dari database sumber berisi kunci asing, pemicu, atau pemicu acara, dan akun database tujuan adalah akun istimewa, DTS sementara mengatur parameter session_replication_role ke replika di tingkat sesi selama sinkronisasi data penuh atau tambahan. Jika akun database tujuan tidak memiliki izin, Anda harus secara manual mengatur parameter session_replication_role ke replika di database tujuan. Selama sinkronisasi data penuh atau tambahan, jika Anda melakukan operasi pembaruan kaskade atau penghapusan pada database sumber saat parameter session_replication_role diatur ke replika, ketidaksesuaian data mungkin terjadi. Setelah tugas sinkronisasi data dilepaskan, Anda dapat mengubah nilai parameter session_replication_role kembali ke asal.

  • Dalam tiga skenario berikut, Anda harus menjalankan perintah ALTER TABLE schema.table REPLICA IDENTITY FULL; pada tabel yang akan disinkronkan di database sumber sebelum Anda menulis data ke tabel-tabel tersebut. Ini memastikan konsistensi data selama sinkronisasi. Saat Anda menjalankan perintah ini, kami sarankan Anda tidak mengunci tabel. Jika tidak, tabel akan terkunci mati. Jika Anda melewati pemeriksaan terkait selama pra-pemeriksaan, DTS secara otomatis menjalankan perintah ini saat instans diinisialisasi.

    • Saat instans dijalankan untuk pertama kali.

    • Saat Anda memilih skema sebagai objek yang akan disinkronkan, dan Anda membuat tabel di skema atau menjalankan perintah RENAME untuk mengganti nama tabel.

    • Saat Anda menggunakan fitur memodifikasi objek yang akan disinkronkan.

    Catatan
    • Ganti skema dan tabel dalam perintah di atas dengan nama skema dan nama tabel sebenarnya.

    • Kami sarankan Anda melakukan operasi ini selama jam-jam sepi.

  • DTS membuat tabel sementara berikut di database sumber untuk mendapatkan pernyataan DDL dari data tambahan, skema tabel tambahan, dan informasi denyut nadi. Selama sinkronisasi data, jangan hapus tabel sementara di database sumber. Jika tidak, tugas sinkronisasi data gagal. Setelah instans DTS dilepaskan, tabel sementara secara otomatis dihapus.

    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.

  • Untuk memastikan bahwa latensi sinkronisasi data akurat, DTS menambahkan tabel denyut nadi ke database sumber. Nama tabel denyut nadi adalah dts_postgres_heartbeat.

  • Selama sinkronisasi data, DTS membuat slot replikasi untuk database sumber. Slot replikasi diawali dengan dts_sync_. DTS dapat memperoleh log tambahan dari database sumber dalam 15 menit terakhir menggunakan slot replikasi ini.

    Catatan
    • Setelah instans DTS dilepaskan, slot replikasi secara otomatis dihapus. Jika Anda mengubah kata sandi database sumber atau menghapus alamat IP DTS dari daftar putih alamat IP, slot replikasi tidak dapat dihapus secara otomatis. Dalam hal ini, Anda harus menghapus slot replikasi di database sumber untuk mencegahnya menumpuk dan menempati ruang disk, yang dapat menyebabkan instans RDS PostgreSQL menjadi tidak tersedia.

    • Jika tugas sinkronisasi data dilepaskan atau gagal, DTS secara otomatis membersihkan slot replikasi. Jika pergantian primer/sekunder dilakukan di database PostgreSQL, Anda harus masuk ke database sekunder untuk secara manual membersihkan slot replikasi.

    Amazon slot查询信息

  • Sebelum Anda menyinkronkan data, evaluasi dampak sinkronisasi data pada kinerja database sumber dan tujuan. Kami sarankan Anda menyinkronkan data selama jam-jam sepi. Selama sinkronisasi data penuh awal, DTS menggunakan sumber daya baca dan tulis dari database sumber dan tujuan. Ini dapat meningkatkan beban pada server database.

  • Selama sinkronisasi data penuh, operasi INSERT bersamaan menyebabkan fragmentasi di tabel database tujuan. Oleh karena itu, setelah sinkronisasi data penuh selesai, ukuran tablespace yang digunakan dari database tujuan lebih besar daripada database sumber.

  • Untuk sinkronisasi data tingkat tabel, jika tidak ada data dari sumber selain DTS yang ditulis ke database tujuan, Anda dapat menggunakan Data Management (DMS) untuk melakukan operasi DDL online. Untuk informasi lebih lanjut, lihat Ubah skema tanpa mengunci tabel.

  • Selama sinkronisasi data, kami sarankan Anda hanya menggunakan DTS untuk menulis data ke database tujuan. Ini mencegah ketidaksesuaian data antara database sumber dan tujuan. Misalnya, jika Anda menggunakan alat selain DTS untuk menulis data ke database tujuan, kehilangan data mungkin terjadi di database tujuan saat Anda menggunakan DMS untuk melakukan operasi DDL online.

  • DTS tidak memeriksa validitas metadata, seperti urutan. Anda harus secara manual memeriksa validitas metadata.

  • Setelah beban kerja Anda dialihkan ke database tujuan, urutan baru tidak bertambah dari nilai maksimum urutan di database sumber. Oleh karena itu, Anda harus meminta nilai maksimum urutan di database sumber sebelum Anda mengalihkan beban kerja Anda ke database tujuan. Kemudian, Anda harus menentukan nilai maksimum yang diminta sebagai nilai awal urutan di database tujuan. Anda dapat menjalankan pernyataan berikut untuk meminta nilai maksimum urutan 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 berisi semua urutan di database sumber. Anda dapat melakukan operasi di database tujuan berdasarkan kebutuhan bisnis Anda.

  • Saat DTS menjalankan instans sinkronisasi data dua arah, DTS membuat skema bernama dts di database sumber dan tujuan untuk mencegah sinkronisasi melingkar. Saat tugas berjalan, jangan modifikasi skema dts.

  • Saat Anda mengonfigurasi atau mereset instans sinkronisasi dua arah, jika objek tujuan dari satu tugas adalah objek yang akan disinkronkan dari tugas lain:

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

    • Data sumber dari tugas saat ini hanya dapat disinkronkan ke tujuan tugas saat ini. Data yang disinkronkan tidak digunakan sebagai data sumber dari tugas lain untuk sinkronisasi lebih lanjut.

  • Jika instans gagal berjalan, staf dukungan teknis DTS akan mencoba memulihkan instans dalam waktu 8 jam. Selama proses pemulihan, instans mungkin di-restart atau parameter mungkin disesuaikan.

    Catatan

    Saat parameter disesuaikan, hanya parameter instans DTS yang dimodifikasi. Parameter database tidak dimodifikasi. Parameter yang mungkin dimodifikasi termasuk tetapi tidak terbatas pada parameter dalam Ubah parameter instans.

Kasus khusus

  • Jika database sumber adalah instans ApsaraDB RDS untuk PostgreSQL:

    Selama sinkronisasi data, jangan ubah titik akhir dan zona instans ApsaraDB RDS untuk PostgreSQL. Jika tidak, tugas sinkronisasi data gagal.

  • Jika database sumber adalah database PostgreSQL yang dikelola sendiri:

    Nilai parameter max_wal_senders dan max_replication_slots harus lebih besar dari jumlah berikut: jumlah slot replikasi yang digunakan di database PostgreSQL yang dikelola sendiri dan jumlah instans DTS yang harus dibuat untuk menyinkronkan data dari database ini.

  • Jika database sumber adalah instans Cloud SQL untuk PostgreSQL yang disediakan oleh Google Cloud Platform, Anda harus mengatur parameter Database Account ke akun database dengan izin cloudsqlsuperuser untuk database sumber. Saat Anda memilih objek yang akan disinkronkan, Anda harus memilih objek yang diizinkan dikelola oleh akun yang ditentukan. Jika tidak, Anda harus memberikan izin OWNER pada objek yang dipilih ke akun yang ditentukan.

    Catatan

    Akun dengan izin cloudsqlsuperuser tidak dapat mengelola data yang dimiliki oleh akun lain yang memiliki izin cloudsqlsuperuser.

Penagihan

Jenis sinkronisasiBiaya konfigurasi tugas
Sinkronisasi skema dan data penuhGratis.
Sinkronisasi data tambahanDikenakan biaya. Untuk informasi lebih lanjut, lihat Ikhtisar penagihan.

Pendeteksian konflik yang didukung

Untuk memastikan konsistensi data, pastikan bahwa catatan data dengan kunci utama, kunci utama bisnis, atau kunci unik yang sama hanya diperbarui pada salah satu node sinkronisasi. Jika catatan data diperbarui pada kedua node, DTS merespons konflik berdasarkan kebijakan resolusi konflik yang Anda tentukan untuk tugas sinkronisasi data.

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

  • Konflik ketidakunikan yang disebabkan oleh operasi INSERT

    Operasi INSERT yang tidak sesuai dengan kendala ketidakunikan tidak dapat disinkronkan. Misalnya, jika catatan dengan nilai kunci utama yang sama dimasukkan ke dalam dua node sinkronisasi hampir pada waktu yang sama, salah satu catatan yang dimasukkan gagal disinkronkan. Sinkronisasi gagal karena catatan dengan nilai kunci utama yang sama sudah ada di node lain.

  • Catatan tidak konsisten yang disebabkan oleh operasi UPDATE

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

    • Kunci utama atau kunci unik dari catatan yang akan dimasukkan mungkin bertentangan dengan catatan yang ada di instans tujuan.

  • Catatan tidak ada yang akan dihapus

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

Penting
  • Selama sinkronisasi dua arah, waktu sistem dari instans sumber dan tujuan mungkin berbeda. Latensi sinkronisasi mungkin terjadi. Karena alasan-alasan ini, DTS tidak menjamin bahwa mekanisme pendeteksian konflik dapat mencegah semua konflik data. Untuk melakukan sinkronisasi dua arah, pastikan bahwa catatan dengan kunci utama, kunci utama bisnis, atau kunci unik yang sama hanya diperbarui pada salah satu node sinkronisasi.

  • DTS menyediakan kebijakan resolusi konflik untuk mencegah konflik yang mungkin terjadi selama sinkronisasi data. Anda dapat memilih kebijakan resolusi konflik saat Anda mengonfigurasi sinkronisasi data dua arah.

Operasi SQL yang dapat disinkronkan

Penting

Operasi DDL dapat disinkronkan hanya dalam arah maju dari database sumber ke database tujuan. Operasi DDL tidak dapat disinkronkan dari database tujuan ke database sumber karena operasi DDL diabaikan dalam arah sebaliknya.

Tipe operasi

Pernyataan SQL

DML

INSERT, UPDATE, dan DELETE

DDL

  • Operasi DDL dapat disinkronkan hanya oleh tugas sinkronisasi data yang dibuat setelah 1 Oktober 2020.

    Penting
    • Untuk menggunakan tugas sinkronisasi data yang dibuat sebelum 12 Mei 2023 untuk menyinkronkan operasi DDL, Anda harus membuat pemicu dan fungsi di database sumber untuk menangkap informasi DDL sebelum Anda mengonfigurasi tugas sinkronisasi data. Untuk informasi lebih lanjut, lihat Gunakan pemicu dan fungsi untuk menerapkan migrasi DDL tambahan untuk database PostgreSQL.

    • Anda tidak dapat menyinkronkan data tipe BIT selama sinkronisasi data tambahan.

  • Jika akun database dari database sumber adalah akun istimewa dan versi mesin minor dari instans ApsaraDB RDS untuk PostgreSQL adalah 20210228 atau lebih baru, DTS dapat menyinkronkan pernyataan DDL berikut. Untuk informasi tentang cara memperbarui versi mesin minor dari instans, lihat Perbarui versi mesin minor.

    • CREATE TABLE dan DROP TABLE

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

    • TRUNCATE TABLE (Versi database PostgreSQL yang dikelola sendiri harus 11 atau lebih baru.)

    • CREATE INDEX ON TABLE

    Penting
    • Anda tidak dapat menyinkronkan informasi tambahan dari pernyataan DDL, seperti CASCADE atau RESTRICT.

    • Anda tidak dapat menyinkronkan pernyataan DDL dari sesi yang mengeksekusi pernyataan SET session_replication_role = replica.

    • Anda tidak dapat menyinkronkan pernyataan DDL yang dieksekusi dengan memanggil fungsi.

    • Jika beberapa pernyataan SQL yang dikomit oleh database sumber pada waktu yang sama mencakup pernyataan DML dan DDL, DTS tidak menyinkronkan pernyataan DDL.

    • Jika beberapa pernyataan SQL yang dikomit oleh database sumber pada waktu yang sama mencakup pernyataan DDL untuk objek yang tidak disinkronkan, pernyataan DDL tidak disinkronkan.

Izin yang diperlukan untuk akun database

Tipe database

Izin yang diperlukan

Referensi

RDS PostgreSQL

Izin akun istimewa yang merupakan pemilik database

Catatan

Jika database sumber adalah instans ApsaraDB RDS untuk PostgreSQL V9.4 dan Anda ingin menyinkronkan hanya operasi DML, hanya izin REPLICATION yang diperlukan untuk akun database.

Buat akun dan Buat database

Klaster PolarDB untuk PostgreSQL

Izin akun istimewa yang merupakan pemilik database

Buat akun database dan Manajemen database

Prosedur

  1. Gunakan salah satu metode berikut untuk pergi ke halaman Sinkronisasi Data dan pilih wilayah tempat instans sinkronisasi data berada.

    Konsol DTS

    1. Masuk ke Konsol DTS.

    2. Di bilah navigasi kiri, klik Data Synchronization.

    3. Di sudut kiri atas halaman, pilih wilayah tempat tugas sinkronisasi data berada.

    Konsol DMS

    Catatan

    Operasi aktual mungkin berbeda berdasarkan mode dan tata letak Konsol DMS. Untuk informasi lebih lanjut, lihat Mode Sederhana dan Sesuaikan Tata Letak dan Gaya Konsol DMS.

    1. Masuk ke Konsol DMS.

    2. Di bilah navigasi atas, gerakkan pointer di atas Data + AI dan pilih DTS (DTS) > Data Synchronization.

    3. Dari daftar drop-down di sebelah kanan Data Synchronization Tasks, pilih wilayah tempat instans sinkronisasi data berada.

  2. Klik Create Task untuk pergi ke halaman konfigurasi tugas.

  3. Opsional. Klik New Configuration Page di sudut kanan atas halaman.

    Catatan
    • Lewati langkah ini jika tombol Back to Previous Version ditampilkan di sudut kanan atas halaman.

    • Parameter spesifik di halaman konfigurasi versi baru dan sebelumnya mungkin berbeda. Kami sarankan Anda menggunakan halaman konfigurasi versi baru.

  4. Konfigurasikan database sumber dan tujuan. Tabel berikut menjelaskan parameter.

    Bidang

    Parameter

    Deskripsi

    Tidak berlaku

    Task Name

    Nama tugas DTS. DTS secara otomatis menghasilkan nama tugas. Kami sarankan Anda menentukan nama deskriptif yang memudahkan identifikasi tugas. Anda tidak perlu menentukan nama tugas yang unik.

    Source Database

    Select Existing Connection

    • Jika Anda menggunakan instans database yang terdaftar dengan DTS, pilih instans dari daftar drop-down. DTS secara otomatis mengisi parameter database berikut untuk instans tersebut. Untuk informasi lebih lanjut, lihat Kelola koneksi database.

      Catatan

      Di Konsol DMS, Anda dapat memilih instans database dari daftar drop-down Select a DMS database instance.

    • Jika Anda gagal mendaftarkan instans dengan DTS, atau Anda tidak perlu menggunakan instans yang terdaftar dengan DTS, Anda harus mengonfigurasi informasi database berikut.

    Database Type

    Tipe database sumber. Pilih PostgreSQL.

    Access Method

    Metode akses database sumber. Pilih Alibaba Cloud Instance.

    Instance Region

    Wilayah tempat instans ApsaraDB RDS untuk PostgreSQL sumber berada.

    Replicate Data Across Alibaba Cloud Accounts

    Dalam contoh ini, database dari akun Alibaba Cloud saat ini digunakan. Pilih No.

    Instance ID

    ID instans ApsaraDB RDS untuk PostgreSQL sumber.

    Database Name

    Nama database yang menyimpan data yang akan disinkronkan di instans ApsaraDB RDS untuk PostgreSQL sumber.

    Database Account

    Akun database dari instans ApsaraDB RDS untuk PostgreSQL sumber. Untuk informasi lebih lanjut tentang izin yang diperlukan untuk akun database, lihat bagian "Izin yang diperlukan untuk akun database" dari topik ini.

    Database Password

    Kata sandi yang digunakan untuk mengakses 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 Enkripsi 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 untuk PostgreSQL, lihat Enkripsi SSL.

    Destination Database

    Select Existing Connection

    • Jika Anda menggunakan instans database yang terdaftar dengan DTS, pilih instans dari daftar drop-down. DTS secara otomatis mengisi parameter database berikut untuk instans tersebut. Untuk informasi lebih lanjut, lihat Kelola koneksi database.

      Catatan

      Di Konsol DMS, Anda dapat memilih instans database dari daftar drop-down Select a DMS database instance.

    • Jika Anda gagal mendaftarkan instans dengan DTS, atau Anda tidak perlu menggunakan instans yang terdaftar dengan DTS, Anda harus mengonfigurasi informasi database berikut.

    Database Type

    Tipe database tujuan. Pilih PolarDB for PostgreSQL.

    Access Method

    Metode akses database tujuan. Pilih Alibaba Cloud Instance.

    Instance Region

    Wilayah tempat klaster PolarDB untuk PostgreSQL tujuan berada.

    Instance ID

    ID klaster PolarDB untuk PostgreSQL tujuan.

    Database Name

    Nama database yang digunakan untuk menerima data di klaster PolarDB untuk PostgreSQL tujuan.

    Database Account

    Akun database dari klaster PolarDB untuk PostgreSQL tujuan. Untuk informasi lebih lanjut tentang izin yang diperlukan untuk akun database, lihat bagian "Izin yang diperlukan untuk akun database" dari topik ini.

    Database Password

    Kata sandi yang digunakan untuk mengakses database.

  5. Klik Test Connectivity and Proceed di bagian bawah halaman.

    Catatan
    • Pastikan bahwa blok CIDR server DTS dapat ditambahkan secara otomatis atau manual ke pengaturan keamanan database sumber dan tujuan untuk mengizinkan akses dari server DTS. Untuk informasi lebih lanjut, lihat Tambahkan Blok CIDR Server DTS.

    • Jika database sumber atau tujuan adalah database yang dikelola sendiri dan Access Method-nya tidak diatur ke Alibaba Cloud Instance, klik Test Connectivity dalam kotak dialog CIDR Blocks of DTS Servers.

  6. Konfigurasikan objek yang akan disinkronkan.

    1. Di langkah Configure Objects, konfigurasikan objek yang ingin Anda sinkronkan.

      Parameter

      Deskripsi

      Synchronization Types

      Jenis sinkronisasi. Secara default, Incremental Data Synchronization dipilih. Anda juga harus memilih Schema Synchronization dan Full Data Synchronization. Setelah pra-pemeriksaan selesai, DTS menyinkronkan data historis dari objek yang dipilih dari database sumber ke klaster tujuan. Data historis menjadi dasar untuk sinkronisasi tambahan selanjutnya.

      Synchronization Topology

      Topologi sinkronisasi instans sinkronisasi data. Pilih Two-way Synchronization.

      Exclude DDL Operations

      • Yes: tidak menyinkronkan operasi DDL.

      • No: menyinkronkan operasi DDL.

        Penting

        Operasi DDL hanya dapat disinkronkan dalam arah maju dari database sumber ke database tujuan. Operasi DDL diabaikan dalam arah sebaliknya dari database tujuan ke database sumber. Oleh karena itu, parameter ini hanya ditampilkan saat Anda mengonfigurasi tugas dalam arah maju.

      Global Conflict Resolution Policy

      Kebijakan resolusi konflik instans sinkronisasi data. Pilih kebijakan resolusi konflik yang sesuai berdasarkan kebutuhan bisnis Anda.

      • TaskFailed

        Jika konflik terjadi selama sinkronisasi data, instans sinkronisasi data melaporkan kesalahan dan keluar dari proses. Tugas masuk ke status gagal, dan Anda harus secara manual menyelesaikan konflik.

      • Ignore

        Jika konflik terjadi selama sinkronisasi data, instans sinkronisasi data mengabaikan pernyataan saat ini dan melanjutkan proses. Catatan yang bertentangan di database tujuan digunakan.

      • Overwrite

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

      Catatan
      • Untuk informasi lebih lanjut tentang jenis konflik yang dapat dideteksi oleh DTS, lihat bagian "Pendeteksian konflik yang didukung" dari topik ini.

      • Jika latensi terjadi saat Anda menjeda atau memulai ulang tugas sinkronisasi data, kebijakan resolusi konflik yang dipilih tidak berlaku selama latensi. Secara default, data di database tujuan ditimpa oleh data yang disinkronkan selama latensi.

      Processing Mode of Conflicting Tables

      • Precheck and Report Errors: memeriksa apakah database tujuan berisi tabel yang memiliki nama yang sama dengan tabel di database sumber. Jika database sumber dan tujuan tidak berisi tabel dengan nama identik, pra-pemeriksaan dilewati. Jika tidak, kesalahan dikembalikan selama pra-pemeriksaan, dan tugas sinkronisasi data tidak dapat dimulai.

        Catatan

        Jika database sumber dan tujuan berisi tabel dengan nama identik dan tabel di database tujuan tidak dapat dihapus atau diganti namanya, Anda dapat menggunakan fitur pemetaan nama objek untuk mengganti nama tabel yang disinkronkan ke database tujuan. Untuk informasi lebih lanjut, lihat Peta nama objek.

      • Ignore Errors and Proceed: melewati pra-pemeriksaan untuk nama tabel identik di database sumber dan tujuan.

        Peringatan

        Jika Anda memilih Ignore Errors and Proceed, ketidaksesuaian data mungkin terjadi dan bisnis Anda mungkin terpapar risiko potensial.

        • Jika database sumber dan tujuan memiliki skema yang sama dan catatan data di database tujuan memiliki nilai kunci utama atau nilai kunci unik yang sama dengan catatan data di database sumber:

          • Selama sinkronisasi data penuh, DTS tidak menyinkronkan catatan data ke database tujuan. Catatan data yang ada di database tujuan dipertahankan.

          • Selama sinkronisasi data tambahan, DTS menyinkronkan catatan data ke database tujuan. Catatan data yang ada di database tujuan ditimpa.

        • Jika database sumber dan tujuan memiliki skema yang berbeda, data mungkin gagal diinisialisasi. Dalam hal ini, hanya beberapa kolom yang disinkronkan, atau instans sinkronisasi data gagal. Lanjutkan dengan hati-hati.

      Source Objects

      Pilih satu atau lebih objek dari bagian Source Objects dan klik ikon 向右 untuk menambahkan objek ke bagian Selected Objects.

      Catatan

      Anda dapat memilih kolom, tabel, atau skema sebagai objek yang akan disinkronkan.

      Selected Objects

      • Untuk mengganti nama objek yang akan disinkronkan di database tujuan, klik kanan objek tersebut di bagian Selected Objects. Untuk informasi lebih lanjut, lihat Map object names.

      • Untuk menghapus objek yang dipilih, klik objek di bagian Selected Objects lalu klik ikon image untuk memindahkan objek ke bagian Source Objects.

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

      • Untuk menentukan kondisi WHERE guna menyaring data, klik kanan tabel di bagian Selected Objects. Dalam kotak dialog yang muncul, tentukan kondisi tersebut. Untuk informasi lebih lanjut, lihat Specify filter conditions.

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

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

      Parameter

      Deskripsi

      Dedicated Cluster for Task Scheduling

      Secara default, DTS menjadwalkan tugas ke klaster bersama jika Anda tidak menentukan klaster khusus. Jika Anda ingin meningkatkan stabilitas instance sinkronisasi data, beli klaster khusus. Untuk informasi lebih lanjut, lihat Apa itu DTS Dedicated Cluster.

      Retry Time for Failed Connections

      Rentang waktu ulang untuk koneksi gagal. Jika database sumber atau tujuan gagal terhubung setelah tugas sinkronisasi data dimulai, DTS segera mencoba kembali koneksi dalam rentang waktu tersebut. Nilai valid: 10 hingga 1440. Unit: menit. Nilai default: 720. Kami sarankan Anda mengatur parameter ini ke nilai lebih dari 30. Jika DTS berhasil tersambung kembali ke database sumber dan tujuan dalam rentang waktu yang ditentukan, DTS melanjutkan tugas sinkronisasi data. Jika tidak, tugas sinkronisasi data gagal.

      Catatan
      • Jika Anda menentukan rentang waktu ulang berbeda untuk beberapa tugas sinkronisasi data yang memiliki database sumber atau tujuan yang sama, rentang waktu ulang terpendek yang diambil menjadi prioritas.

      • Saat DTS mencoba kembali koneksi, Anda dikenakan biaya untuk instans DTS. Kami sarankan Anda menentukan rentang waktu ulang berdasarkan kebutuhan bisnis Anda. Anda juga dapat melepaskan instans DTS sesegera mungkin setelah instans sumber dan tujuan dilepaskan.

      Retry Time for Other Issues

      Rentang waktu ulang untuk masalah lainnya. Misalnya, jika operasi DDL atau DML gagal dilakukan setelah tugas sinkronisasi data dimulai, DTS segera mencoba kembali operasi dalam rentang waktu tersebut. Nilai valid: 1 hingga 1440. Unit: menit. Nilai default: 10. Kami sarankan Anda mengatur parameter ini ke nilai lebih dari 10. Jika operasi gagal berhasil dilakukan dalam rentang waktu yang ditentukan, DTS melanjutkan tugas sinkronisasi data. Jika tidak, tugas sinkronisasi data gagal.

      Penting

      Nilai parameter Retry Time for Other Issues harus lebih kecil dari nilai parameter Retry Time for Failed Connections.

      Enable Throttling for Full Data Synchronization

      Selama sinkronisasi data penuh, DTS menggunakan sumber daya baca dan tulis dari database sumber dan tujuan. Ini dapat meningkatkan beban pada server database. Anda dapat mengonfigurasi parameter Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s) untuk tugas sinkronisasi data penuh guna mengurangi beban pada server database tujuan.

      Catatan

      Anda hanya dapat mengonfigurasi parameter ini jika Full Data Synchronization dipilih untuk parameter Synchronization Types.

      Enable Throttling for Incremental Data Synchronization

      Menentukan apakah akan mengaktifkan pembatasan untuk sinkronisasi data tambahan. Anda dapat mengaktifkan pembatasan untuk sinkronisasi data tambahan berdasarkan kebutuhan bisnis Anda. Untuk mengonfigurasi pembatasan, Anda harus mengonfigurasi parameter RPS of Incremental Data Synchronization dan Data synchronization speed for incremental synchronization (MB/s). Ini mengurangi beban pada server database tujuan.

      Environment Tag

      Tag lingkungan yang digunakan untuk mengidentifikasi instans DTS. Anda dapat memilih tag lingkungan berdasarkan kebutuhan bisnis Anda. Dalam contoh ini, Anda tidak perlu mengonfigurasi parameter ini.

      Configure ETL

      Menentukan apakah akan mengaktifkan fitur ekstraksi, transformasi, dan pemuatan (ETL). Untuk informasi lebih lanjut, lihat Apa itu ETL? Nilai valid:

      Monitoring and Alerting

      Menentukan apakah akan mengonfigurasi peringatan untuk instans sinkronisasi data. Jika tugas gagal atau latensi sinkronisasi melebihi ambang batas tertentu, kontak peringatan akan menerima notifikasi. Nilai valid:

      • No: tidak mengaktifkan peringatan.

      • Yes: mengonfigurasi peringatan. Dalam hal ini, Anda juga harus mengonfigurasi ambang batas peringatan dan pengaturan notifikasi peringatan. Untuk informasi lebih lanjut, lihat bagian "Konfigurasikan Pemantauan dan Peringatan Saat Membuat Tugas DTS" dari topik Konfigurasikan Pemantauan dan Peringatan.

    3. Klik Next Step: Data Verification untuk mengonfigurasi verifikasi data.

      Untuk informasi lebih lanjut tentang cara menggunakan fitur verifikasi data, lihat Konfigurasikan Tugas Verifikasi Data.

  7. Simpan pengaturan tugas dan jalankan pra-pemeriksaan.

    • Untuk melihat parameter yang harus ditentukan saat Anda memanggil operasi API terkait untuk mengonfigurasi tugas DTS, gerakkan pointer di atas Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters.

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

    Catatan
    • Sebelum Anda dapat memulai tugas sinkronisasi data, DTS melakukan pra-pemeriksaan. Anda hanya dapat memulai tugas sinkronisasi data setelah tugas lulus pra-pemeriksaan.

    • Jika tugas sinkronisasi data gagal pra-pemeriksaan, klik View Details di sebelah setiap item yang gagal. Setelah Anda menganalisis penyebab berdasarkan hasil pemeriksaan, atasi masalah tersebut. Kemudian, jalankan pra-pemeriksaan lagi.

    • Jika peringatan dipicu untuk suatu item selama pra-pemeriksaan:

      • Jika item peringatan tidak dapat diabaikan, klik View Details di sebelah item yang gagal dan atasi masalah tersebut. Kemudian, jalankan pra-pemeriksaan lagi.

      • Jika item peringatan dapat diabaikan, klik Confirm Alert Details. Di kotak dialog Lihat Detail, klik Ignore. Di pesan yang muncul, klik OK. Kemudian, klik Precheck Again untuk menjalankan pra-pemeriksaan lagi. Jika Anda mengabaikan item perakan peringatan, ketidaksesuaian data mungkin terjadi, dan bisnis Anda mungkin terpapar risiko potensial.

  8. Tunggu hingga Success Rate mencapai 100%, lalu klik Next: Purchase Instance.

  9. Beli instans sinkronisasi data.

    1. Di halaman buy, konfigurasikan parameter Metode Penagihan dan Kelas Instans untuk tugas sinkronisasi data. Tabel berikut menjelaskan parameter.

      Bidang

      Parameter

      Deskripsi

      New Instance Class

      Metode Penagihan

      • Langganan: Anda membayar langganan saat membuat instans sinkronisasi data. Metode penagihan langganan lebih hemat biaya daripada metode penagihan bayar sesuai pemakaian untuk penggunaan jangka panjang.

      • Bayar sesuai pemakaian: Instans bayar sesuai pemakaian ditagih per jam. Metode penagihan bayar sesuai pemakaian cocok untuk penggunaan jangka pendek. Jika Anda tidak lagi memerlukan instans sinkronisasi data bayar sesuai pemakaian, Anda dapat melepaskan instans untuk mengurangi biaya.

      Pengaturan Grup Sumber Daya

      Grup sumber daya tempat instance sinkronisasi data milik. Nilai default: default resource group. Untuk informasi lebih lanjut, lihat Apa itu Resource Management?

      Kelas Instans

      DTS menyediakan kelas instans yang bervariasi dalam kecepatan sinkronisasi. Anda dapat memilih kelas instans berdasarkan kebutuhan bisnis Anda. Untuk informasi lebih lanjut, lihat Kelas instans tugas sinkronisasi data.

      Durasi Langganan

      Jika Anda memilih metode penagihan langganan, tentukan durasi langganan dan jumlah instans sinkronisasi data yang ingin Anda buat. Durasi langganan bisa satu hingga sembilan bulan, satu tahun, dua tahun, tiga tahun, atau lima tahun.

      Catatan

      Parameter ini tersedia hanya jika Anda memilih metode penagihan Subscription.

    2. Baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.

    3. Klik Buy and Start. Di kotak dialog yang muncul, klik OK.

      Anda dapat melihat kemajuan tugas di daftar tugas.

  10. Tunggu hingga sinkronisasi awal selesai dan Status tugas sinkronisasi data dalam arah maju berubah menjadi Running.

  11. Konfigurasikan tugas sinkronisasi data dalam arah balik.

    1. Temukan tugas sinkronisasi data dalam arah balik dan klik Configure Task di kolom Actions.

    2. Konfigurasikan tugas sinkronisasi data dalam arah balik dengan melakukan operasi yang dijelaskan dari Langkah 4 hingga Langkah 7.

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

      • Saat mengonfigurasi database sumber dan tujuan dari tugas sinkronisasi data dalam arah balik, parameter Instance Region tidak dapat diubah. Jumlah parameter yang perlu dikonfigurasi untuk tugas sinkronisasi data dalam arah balik lebih sedikit daripada 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 dari tugas sinkronisasi data dalam arah maju untuk tugas sinkronisasi data dalam arah balik.

      • Kami sarankan Anda tidak menggunakan fitur pemetaan nama objek saat mengonfigurasi tugas sinkronisasi data dalam arah balik. Jika tidak, ketidaksesuaian data mungkin terjadi.

    3. Tunggu hingga Success Rate menjadi 100%. Kemudian, klik Back.

  12. Tunggu hingga Status tugas sinkronisasi dalam kedua arah maju dan balik berubah menjadi Running. Ini menunjukkan bahwa sinkronisasi data dua arah telah dikonfigurasi.