All Products
Search
Document Center

Data Transmission Service:Sinkronisasi data dari instans RDS PostgreSQL ke instans RDS MySQL

Last Updated:Mar 28, 2026

Gunakan Data Transmission Service (DTS) untuk menjalankan sinkronisasi data satu arah yang berkelanjutan dari ApsaraDB RDS for PostgreSQL ke ApsaraDB RDS for MySQL. DTS menangani pemuatan data penuh awal dan perubahan inkremental berkelanjutan (INSERT, UPDATE, DELETE) secara real time.

Prasyarat

Sebelum memulai, pastikan Anda memiliki:

Batasan

Tinjau batasan berikut sebelum mengonfigurasi tugas. Beberapa batasan memerlukan tindakan sebelum Anda memulai.

Persyaratan database sumber

Kendala tabel

Tabel yang akan disinkronkan harus memiliki PRIMARY KEY atau kendala UNIQUE, dan semua field harus unik. Tanpa kendala ini, database tujuan mungkin berisi baris duplikat.

Catatan

Pernyataan DDL tidak disinkronkan ke database tujuan.

Batas jumlah tabel

Jika Anda memilih tabel individual sebagai objek sinkronisasi dan perlu mengganti nama tabel atau kolom di tujuan, satu tugas mendukung hingga 5.000 tabel. Untuk lebih dari 5.000 tabel, bagi menjadi beberapa tugas atau lakukan sinkronisasi di tingkat database.

Persyaratan log WAL

DTS menggunakan replikasi logis PostgreSQL (write-ahead logging) untuk menangkap perubahan inkremental. Konfigurasikan hal berikut sebelum memulai tugas:

  • Atur wal_level ke logical pada instans sumber.

  • Untuk sinkronisasi hanya inkremental: simpan log WAL selama lebih dari 24 jam.

  • Untuk sinkronisasi data penuh + sinkronisasi inkremental: simpan log WAL setidaknya selama 7 hari. Setelah fase sinkronisasi penuh selesai, Anda dapat mengurangi retensi menjadi lebih dari 24 jam.

Retensi log WAL yang tidak mencukupi menyebabkan DTS gagal membaca log perubahan, yang dapat mengakibatkan kegagalan tugas atau kehilangan data.

Ruang disk WAL

Transaksi jangka panjang pada database sumber mencegah log WAL dilepaskan. Jika tugas sinkronisasi tertinggal atau sumber memiliki transaksi jangka panjang yang belum dikomit, file WAL dapat menumpuk dan menghabiskan ruang disk sumber. Pantau penggunaan disk sumber dan retensi log WAL selama sinkronisasi.

DTS membuat slot replikasi dengan awalan dts_sync_ pada database sumber. Slot tersebut menyimpan log inkremental hingga 15 menit. Setelah instans DTS dirilis, slot replikasi akan dihapus secara otomatis. Jika tugas sinkronisasi data dirilis atau gagal, DTS secara otomatis menghapus slot replikasi. Jika Anda mengubah kata sandi database sumber atau menghapus blok CIDR DTS dari daftar putih, hapus slot replikasi secara manual untuk mencegah penumpukan.

Amazon slot查询信息
Catatan

Jika terjadi alih bencana primary/secondary pada instans sumber, masuk ke database sekunder untuk menghapus slot replikasi.

Alih bencana primary/secondary

Jika Anda berencana melakukan alih bencana primary/secondary pada instans ApsaraDB RDS for PostgreSQL sumber selama sinkronisasi, aktifkan fitur Logical Replication Slot Failover terlebih dahulu. Lihat Logical Replication Slot Failover.

Ukuran data satu baris

Jika satu perubahan inkremental melebihi 256 MB, instans sinkronisasi gagal dan tidak dapat dipulihkan. Konfigurasi ulang tugas jika hal ini terjadi.

Pembatasan DDL

Jangan jalankan pernyataan DDL untuk mengubah skema database atau tabel selama fase sinkronisasi skema atau sinkronisasi data penuh. Hal ini menyebabkan kegagalan tugas.

Peningkatan versi utama

Peningkatan versi utama database sumber saat sinkronisasi sedang berjalan menyebabkan kegagalan tugas yang tidak dapat dipulihkan. Konfigurasi ulang tugas setelah peningkatan selesai.

Batasan lainnya

  • Satu tugas hanya dapat menyinkronkan dari satu database. Buat tugas terpisah untuk beberapa database.

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

  • DTS menyinkronkan kunci asing dari database sumber ke database tujuan selama sinkronisasi skema. Selama sinkronisasi data penuh dan sinkronisasi data inkremental, DTS sementara menonaktifkan pemeriksaan kendala dan operasi kaskade pada kunci asing di tingkat sesi. Jika Anda melakukan operasi pembaruan atau penghapusan kaskade pada database sumber selama sinkronisasi, ketidakkonsistenan data mungkin terjadi.

  • Saat menyinkronkan di tingkat skema: jika Anda membuat tabel baru dalam skema atau mengganti nama tabel dengan RENAME, jalankan pernyataan berikut sebelum menulis data ke tabel tersebut:

    ALTER TABLE schema.table REPLICA IDENTITY FULL;

    Ganti schema dan table dengan nama aktual. Jalankan pernyataan ini selama jam sepi dan jangan mengunci tabel—mengunci dapat menyebabkan deadlock.

  • DTS membuat tabel temporary berikut di database sumber untuk menangkap pernyataan DDL, perubahan skema, dan informasi heartbeat. Jangan menghapusnya selama sinkronisasi; tabel-tabel tersebut akan dihapus secara otomatis saat instans DTS dirilis: 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, public.aliyun_dts_instance

  • DTS menambahkan tabel heartbeat bernama dts_postgres_heartbeat ke database sumber untuk mengukur latensi sinkronisasi.

  • Jika data yang akan disinkronkan berisi karakter 4-byte (seperti karakter langka atau emoji), database dan tabel tujuan harus menggunakan set karakter UTF8mb4. Jika Anda menggunakan sinkronisasi skema DTS, atur character_set_server pada instans tujuan ke UTF8mb4.

  • Sebelum menyinkronkan data, evaluasi dampak sinkronisasi data terhadap kinerja database sumber dan tujuan. Kami menyarankan agar Anda menyinkronkan data selama jam sepi. Selama sinkronisasi data penuh awal, DTS menggunakan resource baca dan tulis dari database sumber dan tujuan. Hal ini dapat meningkatkan beban pada server database.

  • Setelah sinkronisasi data penuh awal selesai, ruang tabel tujuan mungkin lebih besar daripada sumber karena operasi INSERT konkuren menyebabkan fragmentasi.

  • Menulis data dari sumber selain DTS ke tujuan selama sinkronisasi dapat menyebabkan ketidakkonsistenan data atau kehilangan data.

  • Nama kolom MySQL tidak peka huruf besar/kecil. Jika beberapa kolom sumber hanya berbeda dalam kapitalisasi, kolom-kolom tersebut ditulis ke kolom tujuan yang sama, yang dapat menghasilkan hasil yang tidak diharapkan.

  • Jika pernyataan DDL gagal di tujuan, tugas DTS tetap berjalan. Lihat pernyataan DDL yang gagal di log tugas. Lihat Lihat log tugas.

  • Jika tugas DTS gagal, dukungan teknis DTS akan mencoba memulihkannya dalam waktu 8 jam. Selama pemulihan, tugas mungkin dimulai ulang dan parameter tugas (bukan parameter database) mungkin dimodifikasi. Kami menyarankan agar Anda merilis instans DTS sesegera mungkin setelah instans sumber dan tujuan dirilis.

  • Setelah status sinkronisasi berubah menjadi Completed, jalankan perintah berikut untuk memverifikasi bahwa data telah ditulis dengan benar ke tujuan:

    ANALYZE TABLE <table_name>;

Kasus khusus

Jenis sumberPersyaratan tambahan
ApsaraDB RDS for PostgreSQLJangan mengubah endpoint atau zona instans sumber selama sinkronisasi.
Database yang dikelola sendiri PostgreSQLAtur max_wal_senders dan max_replication_slots ke nilai yang lebih besar dari jumlah slot replikasi yang ada ditambah jumlah instans DTS yang menyinkronkan dari database ini.
Google Cloud Platform Cloud SQL for PostgreSQLAtur Database Account ke akun dengan izin cloudsqlsuperuser. Berikan izin OWNER pada objek sinkronisasi yang dipilih ke akun ini jika akun tersebut belum memilikinya. Perhatikan bahwa akun cloudsqlsuperuser tidak dapat mengelola objek yang dimiliki oleh akun cloudsqlsuperuser lainnya.

Penagihan

Jenis sinkronisasiBiaya
Sinkronisasi skema + sinkronisasi data penuhGratis
Sinkronisasi data inkrementalDikenai biaya. Lihat Ikhtisar penagihan.

Topologi sinkronisasi yang didukung

DTS mendukung topologi satu arah berikut untuk jalur sinkronisasi ini:

  • Sinkronisasi satu arah satu-ke-satu

  • Sinkronisasi satu arah satu-ke-banyak

  • Sinkronisasi satu arah kaskade

  • Sinkronisasi satu arah banyak-ke-satu

Untuk detailnya, lihat Topologi sinkronisasi.

Operasi SQL yang dapat disinkronkan

Jenis operasiPernyataan SQL
DMLINSERT, UPDATE, DELETE
Catatan

Pernyataan DDL tidak disinkronkan ke database tujuan.

Buat tugas sinkronisasi data

  1. Buka Halaman Sinkronisasi Data di Konsol DTS. Atau, masuk ke Konsol DMS, lalu pada bilah navigasi atas pilih Data + AI > DTS (DTS) > Data Synchronization.

  2. Di pojok kiri atas, pilih wilayah tempat instans sinkronisasi akan berada.

  3. Klik Create Task. Di wizard Create Data Synchronization Task, konfigurasikan database sumber dan tujuan.

    Peringatan

    Baca Limits yang ditampilkan di halaman setelah mengonfigurasi sumber dan tujuan. Melewatkan langkah ini dapat menyebabkan kegagalan tugas atau ketidakkonsistenan data.

    Source Database

    ParameterNilai
    Database TypePostgreSQL
    Connection TypeAlibaba Cloud Instance
    Instance RegionWilayah instans ApsaraDB RDS for PostgreSQL sumber
    Instance IDID instans sumber
    Database NameNama database sumber
    Database AccountAkun istimewa yang memiliki database sumber. Lihat Buat akun dan Buat database. Untuk PostgreSQL 9.4 dengan sinkronisasi hanya DML, izin REPLICATION sudah cukup.
    Database PasswordKata sandi untuk akun database

    Destination Database

    ParameterNilai
    Database TypeMySQL
    Connection TypeAlibaba Cloud Instance
    Instance RegionWilayah instans ApsaraDB RDS for MySQL tujuan
    RDS Instance IDID instans tujuan
    Database AccountAkun dengan izin baca dan tulis pada database tujuan
    Database PasswordKata sandi untuk akun database
    EncryptionNon-encrypted atau SSL-encrypted. Untuk menggunakan enkripsi SSL, aktifkan SSL pada instans RDS MySQL tujuan terlebih dahulu. Lihat Gunakan sertifikat cloud untuk mengaktifkan enkripsi SSL.
  4. Klik Test Connectivity and Proceed. DTS secara otomatis menambahkan blok CIDR-nya ke daftar putih instans database Alibaba Cloud dan ke aturan grup keamanan database yang dihosting oleh Elastic Compute Service (ECS). Untuk database yang dikelola sendiri yang dideploy di beberapa instance ECS, tambahkan secara manual blok CIDR DTS ke grup keamanan setiap instance. Untuk database on-premises atau database yang dihosting oleh penyedia cloud pihak ketiga, tambahkan secara manual blok CIDR DTS ke daftar putih database. Lihat Blok CIDR server DTS.

    Peringatan

    Menambahkan blok CIDR DTS ke daftar putih atau grup keamanan Anda membuka blok tersebut untuk akses jaringan. Lakukan tindakan pencegahan seperti menggunakan kredensial kuat, membatasi port yang terbuka, meninjau entri daftar putih secara berkala, dan menghubungkan DTS melalui Express Connect, VPN Gateway, atau Smart Access Gateway.

  5. Konfigurasikan objek yang akan disinkronkan dan pengaturan lanjutan.

    Pengaturan dasar

    ParameterDeskripsi
    Synchronization TypesIncremental Data Synchronization dipilih secara default. Pilih Full Data Synchronization untuk menyertakan pemuatan data historis sebelum sinkronisasi inkremental dimulai. Schema Synchronization tidak dapat dipilih untuk jalur sinkronisasi ini.
    Processing Mode of Conflicting TablesPilih cara menangani tabel yang ada di sumber dan tujuan. Precheck and Report Errors (default): pemeriksaan awal gagal jika tabel dengan nama yang sama ada di tujuan. Gunakan pemetaan nama objek untuk mengganti nama tabel tujuan jika tidak dapat dihapus. Ignore Errors and Proceed: melewati pemeriksaan. Selama sinkronisasi penuh, baris tujuan yang ada tetap dipertahankan; selama sinkronisasi inkremental, baris yang bertentangan ditimpa. Jika skema sumber dan tujuan berbeda, hanya beberapa kolom yang mungkin disinkronkan atau tugas mungkin gagal.
    Source ObjectsPilih kolom, tabel, atau database. View, trigger, dan prosedur tersimpan tidak disinkronkan saat Anda memilih tabel atau kolom.
    Selected ObjectsKlik kanan objek untuk mengganti namanya, memilih operasi SQL tertentu yang akan disinkronkan, atau menambahkan kondisi filter WHERE. Klik Batch Edit untuk mengganti nama beberapa objek sekaligus. Lihat Pemetaan nama objek dan Tentukan kondisi filter.

    Pengaturan lanjutan

    ParameterDescription
    Monitoring and AlertingAtur ke Yes untuk menerima peringatan ketika task gagal atau latensi sinkronisasi melebihi ambang batas. Konfigurasikan ambang batas peringatan dan kontak penerima. Lihat Configure monitoring and alerting.
    Retry Time for Failed ConnectionsDurasi waktu DTS mencoba kembali koneksi yang gagal sebelum menandai task sebagai gagal. Rentang: 10–1.440 menit. Default: 720. Atur nilai ini minimal 30 menit. Jika multiple task menggunakan database sumber atau tujuan yang sama, waktu retry terpendek yang berlaku. Biaya DTS tetap berjalan selama proses retry.
    Configure ETLAtur ke Yes untuk mentransformasi data saat dalam perjalanan menggunakan editor kode. Lihat Configure ETL dan What is ETL?.
  6. Klik Next: Save Task Settings and Precheck. Untuk melihat pratinjau parameter API untuk tugas ini, arahkan pointer ke Next: Save Task Settings and Precheck lalu klik Preview OpenAPI parameters sebelum melanjutkan.

    Catatan

    Tugas harus lulus pemeriksaan awal sebelum dapat dimulai. Jika pemeriksaan awal gagal, klik View Details di sebelah setiap item yang gagal, selesaikan masalahnya, lalu klik Precheck Again. Untuk item peringatan yang dapat diabaikan dengan aman, klik Confirm Alert Details > View Details > Ignore > OK, lalu klik Precheck Again.

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

  8. Di halaman buy, konfigurasikan pengaturan penagihan dan kelas instans.

    ParameterDeskripsi
    Billing MethodSubscription: bayar di muka untuk jangka waktu tetap (1–9 bulan, atau 1, 2, 3, atau 5 tahun). Lebih hemat biaya untuk penggunaan jangka panjang. Pay-as-you-go: ditagih per jam. Cocok untuk penggunaan jangka pendek; rilis instans saat tidak lagi diperlukan untuk menghentikan biaya.
    Instance ClassMenentukan throughput sinkronisasi. Lihat Kelas instans sinkronisasi data.
    Resource Group SettingsKelompok sumber daya untuk instans sinkronisasi. Default: default resource group. Lihat Apa itu Resource Management?.
    Subscription DurationHanya tersedia untuk metode penagihan Subscription.
  9. Baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.

  10. Klik Buy and Start, lalu klik OK di dialog konfirmasi.

Tugas muncul di daftar tugas. Pantau perkembangannya di sana.

Langkah selanjutnya

  • Untuk melakukan operasi DDL online pada tabel sumber tanpa mengganggu sinkronisasi, gunakan Data Management Service (DMS). Lihat Ubah skema tanpa mengunci tabel. Ini hanya aman jika DTS adalah satu-satunya penulis ke tujuan. Menulis dari sumber lain secara bersamaan menyebabkan ketidakkonsistenan data.

  • Untuk memeriksa apakah parameter instans sinkronisasi perlu disesuaikan, lihat Modifikasi parameter instans.