全部产品
Search
文档中心

Data Transmission Service:Sinkronisasi data dari database PostgreSQL yang dikelola sendiri ke instans ApsaraDB RDS for PostgreSQL

更新时间:Jan 06, 2026

Topik ini menjelaskan cara menggunakan Data Transmission Service (DTS) untuk menyinkronkan data dari database PostgreSQL yang dikelola sendiri ke instans ApsaraDB RDS for PostgreSQL.

Prasyarat

  • Database PostgreSQL yang dikelola sendiri sebagai sumber dan instans tujuan RDS for PostgreSQL harus telah dibuat. Untuk informasi selengkapnya tentang cara membuat instans tujuan RDS for PostgreSQL, lihat Buat instans RDS for PostgreSQL.

    Catatan
    • Catatan

      Untuk informasi selengkapnya tentang versi database sumber dan tujuan yang didukung, lihat Ikhtisar solusi sinkronisasi data.

    • Versi database tujuan harus sama dengan atau lebih baru daripada versi database sumber guna memastikan kompatibilitas. Jika versi database tujuan lebih lama, masalah kompatibilitas dapat terjadi.

  • Ruang penyimpanan yang tersedia pada instans tujuan ApsaraDB RDS for PostgreSQL harus lebih besar daripada ruang penyimpanan yang digunakan oleh database PostgreSQL yang dikelola sendiri sebagai sumber.

Perhatian

Jenis

Deskripsi

Batasan database sumber

  • Tabel yang akan disinkronkan harus memiliki primary key atau kendala UNIQUE, dan field-field tersebut harus unik. Jika tidak, data duplikat mungkin ada di database tujuan.

    Catatan

    Jika tabel tujuan tidak dibuat oleh DTS (yaitu, jika Anda tidak memilih Schema Synchronization untuk Synchronization Types), Anda harus memastikan bahwa tabel tersebut memiliki primary key yang sama atau kendala UNIQUE non-null seperti pada tabel sumber. Jika tidak, data duplikat mungkin muncul di database tujuan.

  • Nama database yang akan disinkronkan tidak boleh mengandung tanda hubung (-), misalnya dts-testdata.

  • Jika Anda menyinkronkan data pada tingkat tabel dan perlu mengedit objek, seperti memetakan nama kolom, serta jumlah tabel dalam satu tugas sinkronisasi melebihi 5.000, bagi tabel tersebut menjadi beberapa tugas atau konfigurasikan satu tugas untuk menyinkronkan seluruh database. Jika tidak, kesalahan permintaan mungkin dilaporkan setelah Anda mengirimkan tugas tersebut.

  • DTS tidak menyinkronkan temporary tables, internal triggers, atau beberapa fungsi (fungsi bahasa C dan fungsi internal untuk PROCEDURE dan FUNCTION) dari database sumber. DTS menyinkronkan beberapa tipe data kustom (COMPOSITE, ENUM, atau RANGE) dan kendala berikut: primary key, foreign key, unique, dan CHECK.

  • Write-ahead log (WAL):

    • WAL harus diaktifkan. Atur parameter wal_level ke nilai logical.

    • Untuk tugas sinkronisasi inkremental, DTS mensyaratkan bahwa log WAL di database sumber dipertahankan lebih dari 24 jam. Untuk tugas yang melakukan sinkronisasi penuh dan inkremental sekaligus, DTS mensyaratkan bahwa log WAL dipertahankan setidaknya selama 7 hari. Anda dapat mengubah periode retensi log menjadi lebih dari 24 jam setelah sinkronisasi data penuh awal selesai. Jika tugas gagal karena DTS tidak dapat memperoleh log WAL yang diperlukan, atau dalam kasus ekstrem terjadi ketidakkonsistenan data atau kehilangan data, masalah tersebut tidak dicakup oleh Perjanjian Tingkat Layanan (SLA) DTS karena periode retensi log yang ditentukan lebih pendek dari yang disyaratkan.

  • Jika terjadi failover pada database PostgreSQL yang dikelola sendiri, sinkronisasi akan gagal.

  • Pastikan bahwa nilai parameter max_wal_senders dan max_replication_slots lebih besar dari jumlah total slot replikasi yang sedang digunakan ditambah jumlah instans DTS yang akan dibuat dengan database PostgreSQL yang dikelola sendiri ini sebagai sumber.

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

  • Ketika instans sumber adalah Google Cloud Platform Cloud SQL for PostgreSQL, Database Account untuk database sumber harus memiliki izin `cloudsqlsuperuser`. Saat memilih objek sinkronisasi, Anda harus memilih objek yang dikelola oleh akun ini, atau memberikan izin Owner untuk objek yang akan disinkronkan kepada akun ini (misalnya, dengan menjalankan perintah GRANT <owner_of_the_object_to_be_synchronized> TO <source_database_account_used_by_the_task> agar akun ini dapat melakukan operasi terkait sebagai pemilik objek).

    Catatan

    Akun dengan izin cloudsqlsuperuser tidak dapat mengelola data yang pemiliknya adalah akun lain dengan izin cloudsqlsuperuser.

  • Karena batasan langganan logis di database sumber, jika satu potong data yang akan disinkronkan melebihi 256 MB setelah perubahan inkremental, instans sinkronisasi mungkin gagal dan tidak dapat dipulihkan. Anda harus mengonfigurasi ulang instans sinkronisasi tersebut.

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

    Catatan

    Selama sinkronisasi data penuh awal, DTS melakukan kueri ke database sumber. Hal ini membuat metadata lock, yang mungkin memblokir operasi DDL pada database sumber.

  • Jika Anda melakukan peningkatan versi mesin utama pada database sumber saat instans sinkronisasi sedang berjalan, instans tersebut akan gagal dan tidak dapat dipulihkan. Anda harus mengonfigurasi ulang instans sinkronisasi tersebut.

Batasan lainnya

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

  • DTS tidak menyinkronkan tabel ekstensi TimescaleDB atau tabel dengan pewarisan lintas-skema (cross-schema inheritance).

  • Jika tabel yang akan disinkronkan berisi field 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.

  • Dalam tiga skenario berikut, Anda harus menjalankan perintah ALTER TABLE schema.table REPLICA IDENTITY FULL; pada tabel yang akan disinkronkan sebelum menulis data ke dalamnya. Hal ini memastikan konsistensi data. Jangan lakukan operasi penguncian tabel selama menjalankan perintah ini. Jika tidak, tabel mungkin terkunci. Jika Anda melewati item pemeriksaan terkait dalam pemeriksaan awal, DTS akan menjalankan perintah ini secara otomatis selama inisialisasi instans.

    • Saat instans dijalankan untuk pertama kalinya.

    • Saat granularitas sinkronisasi adalah skema, dan tabel baru dibuat dalam skema yang akan disinkronkan atau tabel yang akan disinkronkan dibangun ulang menggunakan perintah RENAME.

    • Saat Anda menggunakan fitur Modify Objects.

    Catatan
    • Dalam perintah tersebut, ganti schema dan table dengan nama skema dan tabel tempat data yang akan disinkronkan berada.

    • Lakukan operasi ini selama jam sepi.

  • DTS memvalidasi konten data tetapi tidak memvalidasi metadata seperti sequences. Anda harus memvalidasi metadata tersebut sendiri.

  • Setelah bisnis dialihkan ke tujuan, sequence baru tidak menggunakan nilai sequence maksimum dari database sumber sebagai nilai awal untuk penambahan. Anda harus memperbarui nilai sequence database tujuan sebelum alih bisnis. Untuk informasi selengkapnya, lihat Perbarui nilai sequence database tujuan.

  • DTS membuat tabel sementara berikut di database sumber untuk mendapatkan pernyataan DDL dari data inkremental, struktur tabel inkremental, dan informasi heartbeat. Selama sinkronisasi, jangan hapus tabel sementara ini. Jika tidak, tugas DTS menjadi abnormal. Tabel sementara 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.

  • Untuk memastikan akurasi latensi sinkronisasi yang ditampilkan, DTS menambahkan tabel heartbeat bernama dts_postgres_heartbeat ke database sumber.

  • Selama sinkronisasi data, DTS membuat slot replikasi dengan awalan dts_sync_ di database sumber untuk mereplikasi data. DTS menggunakan slot replikasi ini untuk mendapatkan log inkremental dari database sumber dalam waktu 15 menit. Ketika sinkronisasi data gagal atau instans sinkronisasi dilepas, DTS akan mencoba menghapus slot replikasi ini secara otomatis.

    Catatan
    • Jika Anda mengubah password akun database yang digunakan oleh tugas atau menghapus daftar putih alamat IP DTS dari database sumber selama sinkronisasi data, slot replikasi tidak dapat dihapus secara otomatis. Dalam hal ini, Anda harus menghapus slot replikasi secara manual di database sumber untuk mencegah penumpukan dan penggunaan ruang disk, yang dapat membuat database sumber tidak tersedia.

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

    Amazon slot查询信息

  • Evaluasi kinerja database sumber dan tujuan sebelum menyinkronkan data. Lakukan sinkronisasi data selama jam sepi. Jika tidak, sinkronisasi data penuh awal akan mengonsumsi sumber daya baca dan tulis pada database sumber dan tujuan, yang dapat meningkatkan beban database.

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

  • Untuk sinkronisasi data tingkat tabel, jika tidak ada data selain data dari DTS yang ditulis ke database tujuan, Anda dapat menggunakan Data Management (DMS) untuk melakukan operasi DDL Online. Untuk informasi selengkapnya, lihat Lakukan perubahan skema tanpa penguncian tabel.

  • Selama sinkronisasi DTS, jangan menulis data selain data dari DTS ke database tujuan. Jika tidak, ketidakkonsistenan data akan terjadi antara database sumber dan tujuan. Misalnya, jika Anda menggunakan DMS untuk melakukan operasi DDL Online sementara data lain sedang ditulis ke database tujuan, data mungkin hilang di database tujuan.

  • Untuk tugas yang melakukan sinkronisasi penuh atau inkremental, jika tabel yang akan disinkronkan di database sumber berisi foreign keys, triggers, atau event triggers, dan akun database tujuan adalah akun istimewa atau memiliki izin superuser, DTS sementara mengatur parameter session_replication_role ke replica pada tingkat sesi selama sinkronisasi. 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 (ketika session_replication_role diatur ke replica), jika operasi cascade update atau delete terjadi di database sumber, ketidakkonsistenan data mungkin terjadi. Setelah tugas DTS dilepas, Anda dapat mengubah nilai parameter session_replication_role kembali ke origin.

  • Jika suatu instans gagal, tim dukungan DTS akan mencoba memulihkan instans tersebut dalam waktu 8 jam. Selama proses pemulihan, operasi seperti merestart instans atau menyesuaikan parameternya mungkin dilakukan.

    Catatan

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

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

    Catatan

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

Deskripsi penagihan

Jenis sinkronisasi

Biaya konfigurasi tugas

Sinkronisasi skema dan sinkronisasi data penuh

Gratis.

Sinkronisasi inkremental

Dikenai biaya. Untuk informasi selengkapnya, lihat Ikhtisar penagihan.

Topologi sinkronisasi yang didukung

  • Sinkronisasi satu arah satu-ke-satu

  • Sinkronisasi satu arah satu-ke-banyak

  • Sinkronisasi satu arah kaskade

  • Sinkronisasi satu arah banyak-ke-satu

Untuk informasi selengkapnya tentang topologi sinkronisasi yang didukung oleh DTS, lihat Topologi sinkronisasi.

Objek sinkronisasi yang didukung

    Operasi SQL yang dapat disinkronkan

    Izin yang diperlukan untuk akun database

    Persiapan

    Catatan

    Prosedur berikut menggunakan sistem operasi Linux sebagai contoh.

    Lakukan persiapan berikut untuk semua versi database PostgreSQL yang dikelola sendiri.

    1. Login ke server tempat database PostgreSQL yang dikelola sendiri berada.

    2. Jalankan perintah berikut untuk menanyakan jumlah slot replikasi yang digunakan di database.

      select count(1) from pg_replication_slots;
    3. Modifikasi file postgresql.conf. Atur parameter wal_level ke logical. Pastikan nilai parameter max_wal_senders dan max_replication_slots lebih besar dari jumlah total slot replikasi yang digunakan ditambah jumlah instans DTS yang menggunakan database PostgreSQL yang dikelola sendiri ini sebagai sumber.

      # - Settings -
      
      wal_level = logical			# minimal, replica, or logical
      					# (change requires restart)
      
      ......
      
      # - Sending Server(s) -
      
      # Set these on the master and on any standby that will send replication data.
      
      max_wal_senders = 10		# max number of walsender processes
      				# (change requires restart)
      #wal_keep_segments = 0		# in logfile segments, 16MB each; 0 disables
      #wal_sender_timeout = 60s	# in milliseconds; 0 disables
      
      max_replication_slots = 10	# max number of replication slots
      				# (change requires restart)
      Catatan

      Setelah memodifikasi file konfigurasi, Anda harus merestart database PostgreSQL yang dikelola sendiri agar pengaturan parameter berlaku.

    4. Tambahkan alamat IP server DTS ke file pg_hba.conf database PostgreSQL yang dikelola sendiri. Anda hanya perlu menambahkan blok CIDR alamat IP DTS untuk wilayah tempat database tujuan berada. Untuk informasi selengkapnya, lihat Tambahkan blok CIDR server DTS ke daftar putih database yang dikelola sendiri.

      Catatan
      • Setelah memodifikasi file konfigurasi, jalankan perintah SELECT pg_reload_conf(); atau restart database PostgreSQL yang dikelola sendiri agar perubahan berlaku.

      • Untuk informasi selengkapnya tentang pengaturan dalam file konfigurasi ini, lihat The pg_hba.conf File. Jika Anda telah mengatur alamat tepercaya ke 0.0.0.0/0 seperti yang ditunjukkan pada gambar berikut, Anda dapat melewati langkah ini.

      IP

    5. Buat database dan skema yang sesuai di instans tujuan ApsaraDB RDS for PostgreSQL berdasarkan informasi database dan skema objek yang akan disinkronkan. Nama skema harus sama. Untuk informasi selengkapnya, lihat Buat database dan Kelola skema.

    Jika versi database PostgreSQL yang dikelola sendiri Anda berada di antara 9.4.8 dan 10.0, Anda juga harus melakukan persiapan berikut.

    1. Unduh kode sumber PostgreSQL, lalu kompilasi dan instal.

      1. Login ke server tempat database PostgreSQL yang dikelola sendiri berada.

      2. Unduh kode sumber yang sesuai dengan versi database PostgreSQL yang dikelola sendiri sumber Anda dari situs resmi PostgreSQL.

      3. Jalankan perintah sudo ./configure, sudo make, dan sudo make install secara berurutan untuk mengonfigurasi, mengompilasi, dan menginstal kode sumber.

        Penting
        • Saat mengompilasi dan menginstal PostgreSQL, versi sistem operasi harus kompatibel dengan versi GCC.

        • Jika terjadi kesalahan saat menjalankan perintah sudo ./configure, Anda dapat memodifikasi perintah tersebut berdasarkan pesan kesalahan. Misalnya, jika pesan kesalahan adalah readline library not found. Use --without-readline to disable readline support., Anda dapat mengubah perintah menjadi sudo ./configure --without-readline.

        • Jika Anda memilih metode lain untuk menginstal PostgreSQL, Anda harus mengompilasi ali_decoding di lingkungan staging yang memiliki versi sistem operasi dan GCC yang sama.

    2. Unduh ekstensi ali_decoding yang disediakan oleh DTS, lalu kompilasi dan instal.

      1. Unduh ali_decoding.

      2. Salin seluruh direktori ali_decoding ke direktori contrib PostgreSQL yang telah dikompilasi dan diinstal.

        contrib目录

      3. Masuk ke direktori ali_decoding dan ganti isi file Makefile dengan skrip berikut:

        # contrib/ali_decoding/Makefile
        MODULE_big = ali_decoding
        MODULES = ali_decoding
        OBJS    = ali_decoding.o
        
        DATA = ali_decoding--0.0.1.sql ali_decoding--unpackaged--0.0.1.sql
        
        EXTENSION = ali_decoding
        
        NAME = ali_decoding
        
        #subdir = contrib/ali_decoding
        #top_builddir = ../..
        #include $(top_builddir)/src/Makefile.global
        #include $(top_srcdir)/contrib/contrib-global.mk
        
        #PG_CONFIG = /usr/pgsql-9.6/bin/pg_config
        #pgsql_lib_dir := $(shell $(PG_CONFIG) --libdir)
        #PGXS := $(shell $(PG_CONFIG) --pgxs)
        #include $(PGXS)
        
        # Use the following for source code installation
        ifdef USE_PGXS
        PG_CONFIG = pg_config
        PGXS := $(shell $(PG_CONFIG) --pgxs)
        include $(PGXS)
        else
        subdir = contrib/ali_decoding
        top_builddir = ../..
        include $(top_builddir)/src/Makefile.global
        include $(top_srcdir)/contrib/contrib-global.mk
        endif
      4. Masuk ke direktori ali_decoding. Jalankan perintah sudo make dan sudo make install secara berurutan untuk mengompilasi ali_decoding dan mendapatkan file yang diperlukan untuk instalasi.

      5. Salin file-file berikut ke lokasi yang ditentukan.

        指定位置

    3. Berdasarkan database dan skema objek yang akan disinkronkan, buat database dan skema yang sesuai di instans tujuan ApsaraDB RDS for PostgreSQL. Nama skema harus sama. Untuk informasi selengkapnya, lihat Buat database dan Kelola skema.

    Prosedur

    1. Buka halaman daftar tugas sinkronisasi data di wilayah tujuan. Anda dapat menggunakan salah satu metode berikut.

      Dari Konsol DTS

      1. Login ke Konsol DTS.

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

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

      Dari Konsol DMS

      Catatan

      Operasi aktual mungkin berbeda tergantung pada mode dan tata letak Konsol DMS. Untuk informasi selengkapnya, lihat Konsol mode sederhana dan Sesuaikan tata letak dan gaya Konsol DMS.

      1. Login ke Konsol DMS.

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

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

    2. Klik Create Task. Halaman konfigurasi tugas akan terbuka.

    3. Konfigurasikan database sumber dan tujuan.

      Peringatan

      Setelah memilih instans sumber dan tujuan, tinjau Limits di bagian atas halaman. Jika tidak, tugas mungkin gagal atau terjadi ketidakkonsistenan data.

      Kategori

      Konfigurasi

      Deskripsi

      N/A

      Task Name

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

      Source Database

      Database Type

      Pilih PostgreSQL.

      Access Method

      Pilih Cloud Enterprise Network (CEN).

      Instance Region

      Pilih wilayah tempat database PostgreSQL yang dikelola sendiri berada.

      CEN Instance ID

      Pilih ID instans CEN tempat database PostgreSQL yang dikelola sendiri berada.

      Connected VPC

      Pilih VPC yang terhubung ke database PostgreSQL yang dikelola sendiri.

      Domain Name or IP

      Masukkan alamat IP server tempat database PostgreSQL yang dikelola sendiri berada.

      Port Number

      Masukkan port layanan untuk database PostgreSQL yang dikelola sendiri, yang secara default adalah 3433.

      Database Name

      Masukkan nama database di instans PostgreSQL yang dikelola sendiri yang berisi objek yang akan disinkronkan.

      Database Account

      Masukkan akun database untuk database PostgreSQL yang dikelola sendiri. Untuk informasi tentang izin yang diperlukan, lihat Izin yang diperlukan untuk akun database.

      Database Password

      Masukkan password yang sesuai dengan akun database tersebut.

      Encryption

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

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

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

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

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

      Destination Database

      Database Type

      Pilih PostgreSQL.

      Access Method

      Pilih Alibaba Cloud Instance.

      Instance Region

      Pilih wilayah tempat instans tujuan ApsaraDB RDS for PostgreSQL berada.

      Instance ID

      Pilih ID instans tujuan ApsaraDB RDS for PostgreSQL.

      Database Name

      Masukkan nama database di instans tujuan ApsaraDB RDS for PostgreSQL yang akan berisi objek yang disinkronkan.

      Database Account

      Masukkan akun database untuk instans tujuan ApsaraDB RDS for PostgreSQL. Untuk informasi tentang izin yang diperlukan, lihat Izin yang diperlukan untuk akun database.

      Database Password

      Masukkan password yang sesuai dengan akun database tersebut.

      Encryption

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

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

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

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

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

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

      Catatan
      • Pastikan blok alamat IP layanan DTS telah ditambahkan ke pengaturan keamanan database sumber dan tujuan, baik secara otomatis maupun manual, untuk mengizinkan akses dari server DTS. Untuk informasi selengkapnya, lihat Tambahkan daftar putih alamat IP server DTS.

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

    5. Konfigurasikan objek tugas.

      1. Di halaman Configure Objects, Anda dapat mengonfigurasi objek yang akan disinkronkan.

        Konfigurasi

        Deskripsi

        Synchronization Types

        Incremental Synchronization dipilih secara default. Anda juga perlu memilih Schema Synchronization dan Full Data Synchronization. Setelah pemeriksaan awal selesai, DTS menginisialisasi objek sinkronisasi di kluster tujuan dengan data penuh dari instans sumber. Data ini berfungsi sebagai garis dasar untuk sinkronisasi inkremental berikutnya.

        Catatan

        Jika Anda memilih Schema Synchronization, DTS menyinkronkan skema tabel yang akan disinkronkan dari database sumber ke database tujuan. Skema tersebut mencakup foreign keys.

        Processing Mode of Conflicting Tables

        • Precheck and Report Errors: Memeriksa adanya tabel dengan nama yang sama di database tujuan. Jika ditemukan tabel dengan nama yang sama, kesalahan akan dilaporkan selama pemeriksaan awal dan tugas sinkronisasi data tidak akan dimulai. Jika tidak, pemeriksaan awal berhasil.

          Catatan

          Jika Anda tidak dapat menghapus atau mengganti nama tabel dengan nama yang sama di database tujuan, Anda dapat menggunakan fitur pemetaan nama objek untuk mengubah nama tabel di database tujuan. Untuk informasi selengkapnya, lihat Pemetaan nama objek.

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

          Peringatan

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

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

            • Selama sinkronisasi data penuh, DTS mempertahankan record di kluster tujuan. Record yang sesuai dari database sumber tidak disinkronkan.

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

          • Jika skema tabel tidak konsisten, inisialisasi data mungkin gagal. Hal ini dapat mengakibatkan hanya sinkronisasi kolom parsial atau kegagalan sinkronisasi total. Harap berhati-hati.

        Synchronization Topology

        Ini adalah skenario sinkronisasi satu arah. Pilih One-way Synchronization.

        Capitalization of Object Names in Destination Instance

        Anda dapat mengonfigurasi kebijakan huruf besar/kecil untuk nama objek database, tabel, dan kolom di instans tujuan. Secara default, DTS Default Policy dipilih. Anda juga dapat memilih untuk menggunakan kebijakan default database sumber atau tujuan. Untuk informasi selengkapnya, lihat Kebijakan huruf besar/kecil untuk nama objek tujuan.

        Source Objects

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

        Catatan
        • Anda dapat memilih skema atau tabel sebagai objek yang akan disinkronkan. Jika Anda memilih tabel sebagai objek yang akan disinkronkan, DTS tidak memigrasikan objek lain seperti views, triggers, dan stored procedures 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 mengganti nama satu objek sinkronisasi di instans tujuan, klik kanan objek tersebut di kotak Selected Objects. Untuk informasi selengkapnya, lihat Pemetaan nama objek tunggal.

        • Untuk mengganti nama massal objek sinkronisasi, klik Batch Edit di pojok kanan atas kotak Selected Objects. Untuk informasi selengkapnya, lihat Pemetaan nama objek ganda secara massal.

        Catatan
        • Untuk memilih operasi SQL mana yang akan disinkronkan pada tingkat database atau tabel, klik kanan objek yang akan disinkronkan di bagian Selected Objects. Di kotak dialog yang muncul, pilih operasi yang diinginkan.

        • Untuk menentukan kondisi WHERE untuk memfilter data, klik kanan tabel di bagian Selected Objects. Di kotak dialog yang muncul, tentukan kondisi filter. Untuk informasi selengkapnya, lihat Atur kondisi filter.

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

      2. Klik Next: Advanced Settings.

        Konfigurasi

        Deskripsi

        Dedicated Cluster for Task Scheduling

        Secara default, DTS menjadwalkan tugas pada kluster bersama, sehingga Anda tidak perlu memilih apa pun. Untuk stabilitas tugas yang lebih baik, Anda dapat membeli kluster khusus untuk menjalankan tugas sinkronisasi DTS. Untuk informasi selengkapnya, lihat Apa itu kluster khusus DTS?.

        Retry Time for Failed Connections

        Jika koneksi ke database sumber atau tujuan gagal setelah tugas sinkronisasi dimulai, DTS melaporkan kesalahan dan segera mulai mencoba menghubungkan kembali. Durasi percobaan ulang default adalah 720 menit. Anda dapat menyesuaikan waktu percobaan ulang ke nilai antara 10 hingga 1.440 menit. Kami menyarankan pengaturan minimal 30 menit. Jika DTS berhasil terhubung kembali dalam waktu percobaan ulang yang ditentukan, tugas akan dilanjutkan secara otomatis. Jika tidak, tugas gagal.

        Catatan
        • Untuk beberapa instans DTS dengan sumber atau tujuan yang sama, seperti instans DTS A dan instans DTS B, jika waktu percobaan ulang jaringan diatur 30 menit untuk A dan 60 menit untuk B, waktu yang lebih singkat yaitu 30 menit yang berlaku.

        • Karena DTS menagih berdasarkan waktu proses tugas selama percobaan ulang koneksi, kami menyarankan agar Anda menyesuaikan waktu percobaan ulang berdasarkan kebutuhan bisnis Anda atau segera melepas instans DTS setelah instans database sumber dan tujuan dilepas.

        Retry Time for Other Issues

        Setelah tugas sinkronisasi dimulai, jika terjadi masalah non-konektivitas di database sumber atau tujuan, seperti kesalahan 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 waktu percobaan ulang ke nilai antara 1 hingga 1.440 menit. Kami menyarankan pengaturan minimal 10 menit. Jika operasi terkait berhasil dalam waktu percobaan ulang yang ditentukan, tugas sinkronisasi akan dilanjutkan secara otomatis. Jika tidak, tugas gagal.

        Penting

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

        Enable Throttling for Full Data Synchronization

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

        Catatan

        Enable Throttling for Incremental Data Synchronization

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

        Environment Tag

        Anda dapat memilih tag lingkungan untuk mengidentifikasi instans.

        Configure ETL

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

        Monitoring and Alerting

        Tentukan apakah akan mengonfigurasi peringatan. Jika sinkronisasi gagal atau latensi melebihi ambang batas yang ditentukan, notifikasi akan dikirim ke kontak peringatan.

      3. Klik Next: Data Validation untuk mengonfigurasi tugas.

        Untuk menggunakan fitur validasi data, lihat Konfigurasikan validasi data.

    6. Simpan tugas dan lakukan pemeriksaan awal.

      • Untuk melihat parameter konfigurasi instans ini untuk operasi API, arahkan kursor mouse ke tombol Next: Save Task Settings and Precheck, lalu klik Preview OpenAPI parameters di tooltip.

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

      Catatan
      • Sebelum pekerjaan sinkronisasi dimulai, pemeriksaan awal dilakukan. Pekerjaan hanya dapat dimulai setelah lulus pemeriksaan awal.

      • Jika pemeriksaan awal gagal, klik View Details di sebelah item yang gagal, selesaikan masalah sesuai petunjuk, lalu jalankan kembali pemeriksaan awal.

      • Jika peringatan muncul selama pemeriksaan awal:

        • Jika item pemeriksaan gagal dan tidak dapat diabaikan, klik View Details di sebelah item tersebut. Kemudian, ikuti petunjuk untuk memperbaiki masalah dan jalankan kembali pemeriksaan awal.

        • Untuk item pemeriksaan yang dapat diabaikan, klik Confirm Alert Details, Ignore, OK, dan Precheck Again secara berurutan untuk melewati peringatan dan menjalankan kembali pemeriksaan awal. Mengabaikan peringatan untuk item pemeriksaan dapat menyebabkan masalah seperti ketidakkonsistenan data dan menimbulkan risiko bagi bisnis Anda.

    7. Beli instance.

      1. Saat Success Rate mencapai 100%, klik Next: Purchase Instance.

      2. Di halaman Purchase, pilih metode penagihan dan spesifikasi tautan untuk instans sinkronisasi data. Untuk informasi selengkapnya, lihat tabel berikut.

        Kategori

        Parameter

        Deskripsi

        New Instance Class

        Metode Penagihan

        • Langganan: Anda membayar saat membuat instans. Ini cocok untuk kebutuhan jangka panjang, lebih terjangkau daripada bayar sesuai penggunaan, dan menawarkan diskon lebih besar untuk durasi langganan yang lebih lama.

        • Bayar sesuai penggunaan: Ditagih per jam. Ini cocok untuk kebutuhan jangka pendek. Anda dapat melepas instans segera setelah digunakan untuk menghemat biaya.

        Konfigurasi Kelompok Sumber Daya

        Kelompok sumber daya tempat instans tersebut berada. Default-nya adalah default resource group. Untuk informasi selengkapnya, lihat Apa itu Resource Management?.

        Spesifikasi Tautan

        DTS menyediakan spesifikasi sinkronisasi dengan tingkat kinerja berbeda. Spesifikasi tautan memengaruhi laju sinkronisasi. Anda dapat memilih salah satu berdasarkan skenario bisnis Anda. Untuk informasi selengkapnya, lihat Spesifikasi tautan sinkronisasi data.

        Durasi Langganan

        Dalam mode langganan, pilih durasi dan jumlah untuk instans langganan. Anda dapat memilih 1 hingga 9 bulan untuk langganan bulanan, atau 1, 2, 3, atau 5 tahun untuk langganan tahunan.

        Catatan

        Opsi ini hanya muncul ketika metode penagihan adalah Subscription.

      3. Setelah menyelesaikan konfigurasi, baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.

      4. Klik Buy and Start, lalu klik OK di kotak dialog OK.

        Anda dapat melihat progres tugas di halaman sinkronisasi data.