All Products
Search
Document Center

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

Last Updated:Jul 24, 2026

Anda dapat menggunakan Data Transmission Service (DTS) untuk menyinkronkan data dari instans ApsaraDB RDS for PostgreSQL ke instans ApsaraDB RDS for MySQL.

Prasyarat

Penagihan

Jenis sinkronisasi

Biaya

Sinkronisasi skema dan sinkronisasi data penuh

Gratis.

Sinkronisasi data 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 kaskade satu arah

  • Sinkronisasi satu arah banyak-ke-satu

Untuk informasi selengkapnya, lihat Topologi sinkronisasi.

Operasi SQL yang dapat disinkronkan

Jenis operasi

Pernyataan SQL

DML (Data Manipulation Language)

INSERT, UPDATE, dan DELETE

Catatan penggunaan

Perilaku kunci asing

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

  • Selama sinkronisasi data penuh dan sinkronisasi data inkremental, DTS menonaktifkan sementara pemeriksaan kendala dan operasi kaskade pada kunci asing di tingkat sesi.

Catatan

Jika Anda melakukan operasi pembaruan dan penghapusan kaskade pada database sumber selama sinkronisasi data, ketidakkonsistenan data dapat terjadi.

Persyaratan database sumber

Kunci primer dan kendala unik

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

Catatan

Jika tabel tujuan sudah ada karena Schema Synchronization tidak dipilih untuk parameter Synchronization Types, pastikan tabel tersebut memiliki PRIMARY KEY atau kendala NOT NULL UNIQUE yang sama dengan tabel sumber. Jika tidak, database tujuan mungkin berisi catatan data duplikat.

Batas jumlah tabel

Saat Anda memilih tabel sebagai objek untuk disinkronkan dan mengeditnya (misalnya, mengganti nama tabel atau kolom di database tujuan), satu tugas sinkronisasi data mendukung hingga 5.000 tabel. Untuk menyinkronkan lebih dari 5.000 tabel, konfigurasikan beberapa tugas atau sinkronkan seluruh database.

Persyaratan log WAL

  • Atur parameter wal_level ke logical.

  • Sinkronisasi hanya inkremental: Simpan log WAL selama lebih dari 24 jam.

  • Sinkronisasi penuh dan inkremental: Simpan log WAL setidaknya selama tujuh hari. Setelah sinkronisasi data penuh selesai, Anda dapat mengurangi periode retensi menjadi lebih dari 24 jam.

Peringatan

Jika DTS tidak dapat memperoleh log WAL karena periode retensi tidak mencukupi, tugas mungkin gagal. Dalam keadaan luar biasa, ketidakkonsistenan atau kehilangan data dapat terjadi. Kepatuhan terhadap persyaratan retensi ini diperlukan agar DTS dapat memenuhi Perjanjian Tingkat Layanan (SLA).

Operasi pada database sumber

  • Alih bencana primer/sekunder: Aktifkan fitur Logical Replication Slot Failover sebelum melakukan alih bencana primer/sekunder pada instans ApsaraDB RDS for PostgreSQL sumber. Hal ini mencegah gangguan pada langganan logis dan menjaga tugas sinkronisasi data tetap berjalan sesuai harapan. Untuk informasi selengkapnya, lihat Logical Replication Slot Failover.

  • Catatan data besar: Jika satu catatan data yang akan disinkronkan dari database sumber melebihi 256 MB selama perubahan data inkremental, instans sinkronisasi data yang sedang berjalan gagal dan tidak dapat dipulihkan. Anda harus mengonfigurasi ulang tugas tersebut.

  • Pembatasan DDL: Jangan jalankan pernyataan DDL (Data Definition Language) untuk mengubah skema database atau tabel selama sinkronisasi skema dan sinkronisasi data penuh. Jika dilakukan, tugas akan gagal.

Transaksi jangka panjang

Jika database sumber memiliki transaksi jangka panjang saat sinkronisasi data inkremental sedang berlangsung, log WAL yang dihasilkan sebelum transaksi jangka panjang tersebut dikomit dapat menumpuk. Hal ini dapat menghabiskan ruang disk database sumber.

Peningkatan versi utama

Jangan lakukan peningkatan versi utama pada database sumber saat instans sinkronisasi data sedang berjalan. Peningkatan versi utama menyebabkan instans gagal, dan kegagalan tersebut tidak dapat dipulihkan. Anda harus mengonfigurasi ulang tugas tersebut.

Persyaratan database tujuan

Set karakter untuk karakter 4-byte

Jika data yang akan disinkronkan berisi karakter yang menempati empat byte, seperti emoji atau karakter langka, database dan tabel tujuan harus menggunakan set karakter utf8mb4.

Catatan

Jika Anda menggunakan fitur sinkronisasi skema DTS, atur parameter instans character_set_server di database tujuan ke utf8mb4.

Pembatasan sinkronisasi

Satu database per tugas

Satu tugas sinkronisasi data hanya dapat menyinkronkan data dari satu database. Untuk menyinkronkan data dari beberapa database, buat tugas terpisah untuk setiap database.

Pewarisan lintas skema

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

Tabel baru atau berganti nama dalam sinkronisasi tingkat skema

Saat Anda memilih skema sebagai objek sinkronisasi dan membuat tabel baru atau mengganti nama tabel dengan perintah RENAME, jalankan pernyataan berikut sebelum menulis data ke tabel:

ALTER TABLE schema.table REPLICA IDENTITY FULL;

Ganti schema dan table dengan nama skema dan tabel yang sebenarnya. Hal ini memastikan konsistensi data.

Catatan

Jalankan operasi ini selama jam sepi. Jangan mengunci tabel saat menjalankan pernyataan ini. Jika tidak, deadlock terjadi.

Sensitivitas huruf besar/kecil nama kolom di MySQL

Nama kolom di database MySQL tidak peka terhadap huruf besar/kecil. Jika beberapa kolom di database sumber memiliki nama yang hanya berbeda dalam kapitalisasi, kolom-kolom tersebut ditulis ke kolom yang sama di database MySQL tujuan selama sinkronisasi. Hal ini dapat menyebabkan hasil yang tidak terduga.

Objek yang dikelola DTS di database sumber

Tabel temporary

DTS membuat tabel temporary berikut di database sumber untuk pernyataan DDL inkremental, skema tabel, dan informasi heartbeat. Jangan hapus tabel-tabel ini selama sinkronisasi data. Tabel-tabel tersebut akan dihapus secara otomatis saat 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

Catatan

Pernyataan DDL yang diperoleh melalui tabel temporary ini tidak ditulis ke database tujuan.

Tabel heartbeat

DTS menambahkan tabel heartbeat bernama dts_postgres_heartbeat ke database sumber untuk mempertahankan pengukuran latensi sinkronisasi yang akurat.

Slot replikasi

DTS membuat slot replikasi dengan awalan dts_sync_ di database sumber. Slot ini mengambil log inkremental dari database sumber dalam 15 menit terakhir.

Catatan

Slot replikasi dihapus secara otomatis saat instans DTS dilepas. Namun, jika Anda mengubah kata sandi database sumber atau menghapus blok CIDR server DTS dari daftar putih alamat IP, slot replikasi tidak dapat dihapus secara otomatis. Dalam hal ini, hapus slot replikasi secara manual untuk mencegah penumpukan log.

Catatan

Jika tugas sinkronisasi data dilepas atau gagal, DTS secara otomatis menghapus slot replikasi. Jika alih bencana primer/sekunder dilakukan pada instans ApsaraDB RDS for PostgreSQL sumber, login ke database sekunder dan hapus slot replikasi secara manual.

Kinerja dan operasi

Pertimbangan kinerja

  • Evaluasi dampak sinkronisasi data pada database sumber dan tujuan sebelum memulai. Sinkronkan data selama jam sepi jika memungkinkan. Selama sinkronisasi data penuh awal, DTS menggunakan sumber daya baca dan tulis kedua database, yang dapat meningkatkan beban server.

  • Selama sinkronisasi data penuh awal, operasi INSERT konkuren menyebabkan fragmentasi pada tabel tujuan. Akibatnya, ruang tabel tujuan lebih besar daripada ruang tabel sumber setelah sinkronisasi penuh selesai.

DDL Online dengan Data Management Service (DMS)

Jika hanya DTS yang menulis data tabel ke database tujuan, Anda dapat menggunakan DMS untuk melakukan operasi DDL Online pada tabel sumber selama sinkronisasi data. Untuk informasi selengkapnya, lihat Lakukan perubahan skema tanpa lock menggunakan tiket perubahan tanpa lock.

Peringatan

Jika data dari sumber lain ditulis ke database tujuan selama sinkronisasi, ketidakkonsistenan data terjadi. Jika Anda menggunakan DMS untuk menjalankan pernyataan DDL Online sementara sumber lain menulis ke database tujuan, kehilangan data dapat terjadi.

Pernyataan DDL yang gagal

Jika pernyataan DDL gagal dieksekusi di database tujuan, tugas DTS tetap berjalan. Lihat pernyataan DDL yang gagal di log tugas. Untuk informasi selengkapnya, lihat Lihat log tugas.

Verifikasi pasca-sinkronisasi

Setelah sinkronisasi data selesai (status Status instans berubah menjadi Completed), jalankan perintah berikut untuk memverifikasi bahwa data telah ditulis ke tabel tujuan:

analyze table <Nama Tabel>
Catatan

Jika alih bencana ketersediaan tinggi (HA) dipicu di database MySQL sumber, data mungkin hanya ditulis ke memori, yang menyebabkan kehilangan data.

Pemulihan kegagalan tugas DTS

Jika tugas DTS gagal, dukungan teknis DTS akan berusaha memulihkan tugas tersebut dalam waktu 8 jam. Selama proses ini, tugas mungkin dimulai ulang, dan parameter tugas mungkin dimodifikasi.

Catatan

Hanya parameter tugas yang mungkin dimodifikasi; parameter database tidak diubah. Parameter yang mungkin dimodifikasi termasuk namun tidak terbatas pada yang dijelaskan dalam bagian Modify instance parameters pada topik Modify the parameters of a DTS instance.

Persyaratan khusus sumber

  • Sumber ApsaraDB RDS for PostgreSQL: Jangan mengubah titik akhir atau zona instans ApsaraDB RDS for PostgreSQL selama sinkronisasi data. Jika dilakukan, tugas gagal.

  • Sumber PostgreSQL yang dikelola sendiri: Nilai parameter max_wal_senders dan max_replication_slots harus lebih besar daripada jumlah slot replikasi yang digunakan di database PostgreSQL yang dikelola sendiri ditambah jumlah instans DTS yang akan dibuat untuk database ini.

  • Sumber Google Cloud SQL for PostgreSQL: Atur parameter Database Account ke akun database dengan izin cloudsqlsuperuser. Pilih hanya objek yang dikelola oleh akun yang ditentukan. Atau, berikan izin OWNER pada objek yang dipilih kepada akun yang ditentukan.

    Catatan

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

Prosedur

  1. Buka halaman Sinkronisasi Data di konsol DTS baru.

    Catatan

    Atau, login ke konsol DMS. Di bilah navigasi atas, arahkan pointer ke Data + AI lalu pilih DTS (DTS) > Data Synchronization.

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

  3. Klik Create Task. Konfigurasikan database sumber dan tujuan.

    Peringatan

    Setelah mengonfigurasi database sumber dan tujuan, baca Limits yang ditampilkan di halaman. Mengabaikan batasan ini dapat menyebabkan kegagalan tugas atau ketidakkonsistenan data.

    Catatan

    Jika versi instans ApsaraDB RDS for PostgreSQL sumber adalah 9.4 dan Anda hanya menyinkronkan operasi DML, hanya izin REPLICATION yang diperlukan untuk akun database.

    Pengaturan tugas

    Parameter

    Nilai

    Task Name

    DTS secara otomatis menghasilkan nama tugas. Tentukan nama deskriptif yang memudahkan identifikasi tugas. Nama tugas unik tidak diperlukan.

    Pengaturan database sumber

    Parameter

    Nilai

    Database Type

    Pilih PostgreSQL.

    Connection Type

    Pilih Alibaba Cloud Instance.

    Instance Region

    Wilayah instans ApsaraDB RDS for PostgreSQL sumber.

    Instance ID

    ID instans ApsaraDB RDS for PostgreSQL sumber.

    Database Name

    Nama database sumber di instans ApsaraDB RDS for PostgreSQL.

    Database Account

    Akun istimewa instans ApsaraDB RDS for PostgreSQL sumber. Akun tersebut harus merupakan pemilik database. Untuk informasi selengkapnya, lihat Buat akun dan Buat database.

    Database Password

    Kata sandi akun database.

    Destination Database

    Parameter

    Nilai

    Database Type

    Pilih MySQL.

    Connection Type

    Pilih Alibaba Cloud Instance.

    Instance Region

    Wilayah instans ApsaraDB RDS for MySQL tujuan.

    RDS Instance ID

    ID instans ApsaraDB RDS for MySQL tujuan.

    Database Account

    Akun database instans ApsaraDB RDS for MySQL tujuan. Akun tersebut harus memiliki izin baca dan tulis pada database tujuan.

    Database Password

    Kata sandi akun database.

    Encryption

    Pilih Non-encrypted atau SSL-encrypted berdasarkan kebutuhan bisnis Anda. Untuk menggunakan SSL-encrypted, aktifkan enkripsi SSL pada instans ApsaraDB RDS for MySQL sebelum mengonfigurasi tugas DTS. Untuk informasi selengkapnya, lihat Gunakan sertifikat cloud untuk mengaktifkan enkripsi SSL.

  4. Klik Test Connectivity and Proceed. Jika database sumber atau tujuan adalah instans database Alibaba Cloud (seperti instans ApsaraDB RDS for MySQL atau instans ApsaraDB for MongoDB), DTS secara otomatis menambahkan blok CIDR server DTS ke daftar putih instans tersebut. Jika database sumber atau tujuan adalah database yang dikelola sendiri yang dihosting pada instans Elastic Compute Service (ECS), DTS secara otomatis menambahkan blok CIDR server DTS ke aturan grup keamanan instans ECS, dan Anda harus memastikan instans ECS dapat mengakses database. Jika database dideploy pada beberapa instans ECS, tambahkan secara manual blok CIDR server DTS ke aturan grup keamanan setiap instans ECS. Jika database sumber atau tujuan adalah database yang dikelola sendiri yang dideploy di pusat data atau disediakan oleh penyedia layanan cloud pihak ketiga, tambahkan secara manual blok CIDR server DTS ke daftar putih database. Untuk informasi selengkapnya, lihat bagian Whitelist DTS server IP addresses pada topik Add the CIDR blocks of DTS servers.

    Peringatan

    Menambahkan blok CIDR server DTS ke daftar putih database atau instans, atau ke aturan grup keamanan ECS, dapat menimbulkan risiko keamanan. Sebelum menggunakan DTS, pahami dan akui potensi risiko tersebut. Ambil tindakan pencegahan, termasuk namun tidak terbatas pada: meningkatkan keamanan username dan password, membatasi port yang terbuka, mengautentikasi panggilan API, meninjau secara berkala daftar putih atau aturan grup keamanan ECS untuk menghapus blok CIDR yang tidak sah, atau menghubungkan database ke DTS melalui Express Connect, VPN Gateway, atau Smart Access Gateway.

  5. Konfigurasikan objek yang akan disinkronkan dan pengaturan lanjutan.

    Catatan

    - Jika nama tabel yang identik ada di database sumber dan tujuan dan Anda tidak dapat menghapus atau mengganti nama tabel tujuan, gunakan fitur pemetaan nama objek. Untuk informasi selengkapnya, lihat Pemetaan nama objek. - Jika Anda memilih Ignore Errors and Proceed dan database sumber serta tujuan memiliki skema yang sama dengan nilai kunci primer atau kunci unik yang cocok: selama sinkronisasi data penuh, DTS tidak menyinkronkan catatan yang bertentangan dan mempertahankan catatan yang ada di tujuan. Selama sinkronisasi data inkremental, DTS menimpa catatan yang ada. Jika skema berbeda, inisialisasi data mungkin gagal, hanya beberapa kolom yang disinkronkan, atau tugas mungkin gagal.

    Catatan

    - Untuk memilih operasi SQL untuk database atau tabel tertentu, klik kanan objek di bagian Selected Objects dan pilih operasi yang akan disinkronkan. Untuk operasi yang didukung, lihat bagian Operasi SQL yang dapat disinkronkan. - Untuk memfilter data dengan kondisi WHERE, klik kanan objek di bagian Selected Objects dan tentukan kondisi filter. Untuk informasi selengkapnya, lihat Atur kondisi filter.

    Catatan

    - Jika Anda menentukan rentang waktu percobaan ulang yang berbeda untuk beberapa tugas yang berbagi database sumber atau tujuan yang sama, rentang waktu percobaan ulang terpendek yang berlaku. - DTS menagih instans selama periode percobaan ulang. Atur waktu percobaan ulang berdasarkan kebutuhan bisnis Anda. Lepaskan instans DTS segera setelah instans sumber dan tujuan dilepas.

    Pengaturan dasar

    Parameter

    Nilai

    Synchronization Types

    Incremental Data Synchronization dipilih secara default. Anda hanya dapat memilih Full Data Synchronization. Anda tidak dapat memilih Schema Synchronization. Saat Full Data Synchronization dipilih, DTS menyinkronkan data historis objek yang dipilih dari database sumber ke database tujuan setelah pemeriksaan awal selesai. Data historis ini menjadi dasar untuk sinkronisasi inkremental berikutnya.

    Processing Mode of Conflicting Tables

    Precheck and Report Errors: Memeriksa apakah database tujuan berisi tabel dengan nama yang sama seperti tabel di database sumber. Jika nama tabel identik ada, kesalahan dikembalikan selama pemeriksaan awal dan tugas tidak dapat dimulai. Ignore Errors and Proceed: Melewati pemeriksaan awal untuk nama tabel identik. Lihat catatan di bawah untuk detail perilaku.

    Source Objects

    Pilih satu atau beberapa objek dari bagian Source Objects dan klik ikon panah kanan untuk menambahkannya ke bagian Selected Objects. Anda dapat memilih kolom, tabel, atau database sebagai objek untuk disinkronkan. Jika Anda memilih tabel atau kolom, DTS tidak menyinkronkan objek lain seperti view, trigger, dan stored procedure.

    Selected Objects

    Untuk mengganti nama objek di instans tujuan, klik kanan objek tersebut di Selected Objects. Untuk informasi selengkapnya, lihat Pemetaan nama objek. Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit di pojok kanan atas bagian Selected Objects. Untuk informasi selengkapnya, lihat Pemetaan nama objek.

    Pengaturan lanjutan

    Parameter

    Nilai

    Monitoring and Alerting

    Menentukan apakah akan mengonfigurasi peringatan untuk tugas. Jika tugas gagal atau latensi sinkronisasi melebihi ambang batas yang ditentukan, kontak peringatan menerima notifikasi. Pilih No untuk menonaktifkan peringatan, atau Yes untuk mengonfigurasi ambang batas peringatan dan pengaturan notifikasi. Untuk informasi selengkapnya, lihat Konfigurasikan pemantauan dan peringatan.

    Retry Time for Failed Connections

    Durasi (dalam menit) yang DTS coba ulang koneksi jika database sumber atau tujuan menjadi tidak dapat dijangkau setelah tugas dimulai. Nilai valid: 10 hingga 1440. Default: 720. Direkomendasikan: lebih dari 30. Jika DTS terhubung kembali dalam periode ini, tugas dilanjutkan. Jika tidak, tugas gagal.

    Configure ETL

    Menentukan apakah akan mengaktifkan ekstrak, transformasi, muat (ETL). Pilih Yes untuk memasukkan pernyataan pemrosesan data di editor kode, atau No untuk melewati. Untuk informasi selengkapnya, lihat Apa itu ETL? dan Konfigurasikan ETL dalam tugas migrasi atau sinkronisasi DTS.

  6. Simpan pengaturan tugas dan jalankan pemeriksaan awal.

    • Untuk melihat parameter API untuk mengonfigurasi tugas DTS ini, arahkan pointer ke Next: Save Task Settings and Precheck lalu klik Preview OpenAPI parameters.

    • Saat siap, klik Next: Save Task Settings and Precheck.

    Catatan

    - DTS melakukan pemeriksaan awal sebelum tugas dapat dimulai. Tugas hanya dapat dimulai setelah lulus pemeriksaan awal. - Jika pemeriksaan awal gagal, klik View Details di sebelah setiap item yang gagal, analisis penyebabnya, atasi masalahnya, dan jalankan ulang pemeriksaan awal. - Jika peringatan dipicu selama pemeriksaan awal: - Jika item peringatan tidak dapat diabaikan, klik View Details, atasi masalahnya, lalu klik Precheck Again. - Jika item peringatan dapat diabaikan, klik Confirm Alert Details. Di kotak dialog View Details, klik Ignore, lalu klik OK. Klik Precheck Again untuk menjalankan ulang pemeriksaan awal. Mengabaikan item peringatan dapat menyebabkan ketidakkonsistenan data dan mengekspos bisnis Anda terhadap potensi risiko.

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

  8. Di halaman buy, konfigurasikan metode penagihan dan kelas instans untuk instans sinkronisasi data.

    Bagian

    Parameter

    Nilai

    New Instance Class

    Metode Penagihan

    Subscription: Bayar di muka saat membuat instans. Lebih hemat biaya untuk penggunaan jangka panjang. Pay-as-you-go: Ditagih per jam. Cocok untuk penggunaan jangka pendek. Lepaskan instans saat tidak lagi diperlukan untuk mengurangi biaya.

    Pengaturan Kelompok Sumber Daya

    Kelompok sumber daya tempat instans sinkronisasi data berada. Nilai default: default resource group. Untuk informasi selengkapnya, lihat Apa itu Resource Management?

    Kelas Instans

    Pilih kelas instans berdasarkan kebutuhan kecepatan sinkronisasi Anda. Untuk informasi selengkapnya, lihat Kelas instans instans sinkronisasi data.

    Durasi Langganan

    Hanya tersedia untuk metode penagihan Subscription. Opsi: satu hingga sembilan bulan, satu tahun, dua tahun, tiga tahun, atau lima tahun.

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

  10. Klik Buy and Start. Di kotak dialog konfirmasi, klik OK. Kemajuan tugas muncul di daftar tugas.