All Products
Search
Document Center

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

Last Updated:Mar 29, 2026

Gunakan Data Transmission Service (DTS) untuk menyinkronkan data dari instans ApsaraDB RDS for MySQL ke instans ApsaraDB RDS for PostgreSQL secara real time. DTS mendukung sinkronisasi skema, sinkronisasi data penuh awal, dan sinkronisasi data inkremental sehingga Anda dapat melakukan migrasi data dengan downtime minimal dan menjaga database tujuan tetap mutakhir.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

Penagihan

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

Topologi sinkronisasi yang didukung

  • Sinkronisasi satu arah satu-ke-satu

  • Sinkronisasi satu arah satu-ke-banyak

  • Sinkronisasi satu arah banyak-ke-satu

Operasi SQL yang dapat disinkronkan

Jenis operasiOperasi yang didukung
DMLINSERT, UPDATE, DELETE

Batasan

Tinjau batasan berikut sebelum mengonfigurasi tugas.

Persyaratan database sumber

  • Tabel harus memiliki kendala PRIMARY KEY atau UNIQUE dengan semua field bernilai unik. Jika tidak, catatan duplikat mungkin muncul di database tujuan.

  • Jika Anda memilih tabel sebagai objek sinkronisasi dan perlu mengganti nama tabel atau kolom, satu tugas mendukung hingga 1.000 tabel. Untuk lebih dari 1.000 tabel, konfigurasikan beberapa tugas atau sinkronkan seluruh database dalam satu tugas.

  • Jangan menjalankan pernyataan DDL selama sinkronisasi skema atau sinkronisasi data penuh. Perubahan DDL selama fase ini menyebabkan tugas gagal.

  • Perubahan data akibat pemulihan backup fisik atau operasi kaskade tidak dicatat atau disinkronkan ke database tujuan selama instansi sinkronisasi data sedang berjalan. Jika hal ini terjadi, Anda dapat menghapus database dan tabel yang terdampak dari objek sinkronisasi lalu menambahkannya kembali. Untuk informasi lebih lanjut, lihat Ubah objek yang akan disinkronkan.

  • MySQL 8.0.23 dan versi setelahnya: Jika data yang akan disinkronkan mencakup kolom tak terlihat (invisible columns), DTS tidak dapat membaca kolom tersebut dan menyebabkan kehilangan data. Untuk membuat kolom menjadi terlihat, jalankan:

    ALTER TABLE <table_name> ALTER COLUMN <column_name> SET VISIBLE;

    Tabel tanpa primary key secara otomatis menghasilkan primary key tak terlihat — buat juga primary key tersebut menjadi terlihat. Lihat Invisible Columns dan Generated Invisible Primary Keys.

  • Jika fitur EncDB diaktifkan pada instans sumber, sinkronisasi data penuh tidak dapat dilakukan. Instans yang mengaktifkan Transparent Data Encryption (TDE) mendukung sinkronisasi skema, sinkronisasi data penuh, dan sinkronisasi data inkremental.

Persyaratan log biner

ApsaraDB RDS for MySQL

Binary logging diaktifkan secara default pada instans ApsaraDB RDS for MySQL. Verifikasi parameter berikut:

ParameterNilai yang diperlukan
binlog_row_imagefull
Jika binlog_row_image tidak diatur ke full, pesan error ditampilkan selama Pemeriksaan Awal dan tugas sinkronisasi data tidak dapat dimulai. Instans ApsaraDB RDS for MySQL 5.6 read-only, yang tidak mencatat log transaksi, tidak dapat digunakan sebagai database sumber.

Log biner harus disimpan selama minimal tujuh hari. Jika DTS tidak dapat membaca log biner, tugas sinkronisasi mungkin gagal, dan ketidakkonsistenan atau kehilangan data dapat terjadi. Lihat Kelola file log biner.

Database MySQL yang dikelola sendiri

Jika sumber Anda adalah database MySQL yang dikelola sendiri, konfigurasikan parameter berikut sebelum memulai tugas:

ParameterNilai yang diperlukanCatatan
binlog_formatrow
binlog_row_imagefull
log_slave_updatesONHanya diperlukan untuk kluster dual-primary

Lihat Buat akun untuk database MySQL yang dikelola sendiri dan konfigurasikan binary logging.

Jika terjadi alih bencana (switchover) primary/secondary pada database sumber saat tugas sedang berjalan, tugas akan gagal.

Objek dan tipe data

  • Hanya tabel yang dapat dipilih sebagai objek sinkronisasi. DTS tidak menyinkronkan view, trigger, atau prosedur tersimpan.

  • Tipe data berikut tidak didukung: BIT, VARBIT, GEOMETRY, ARRAY, UUID, TSQUERY, TSVECTOR, TXID_SNAPSHOT, dan POINT.

  • Indeks awalan tidak dapat disinkronkan. Jika database sumber berisi indeks awalan, tugas mungkin gagal.

  • Jangan gunakan alat seperti pt-online-schema-change untuk operasi DDL Online selama sinkronisasi tingkat tabel. Gunakan Data Management (DMS) sebagai gantinya.

Penanganan kunci asing

Selama sinkronisasi skema, DTS menyinkronkan foreign keys dari database sumber ke database tujuan.

Selama sinkronisasi data penuh dan sinkronisasi data inkremental, DTS sementara menonaktifkan pemeriksaan kendala kunci asing dan operasi kaskade pada tingkat sesi. Jika Anda menjalankan operasi cascade update atau delete pada database sumber selama sinkronisasi, ketidakkonsistenan data mungkin terjadi.

Jika Anda menggunakan akun dengan hak istimewa atau superuser untuk database tujuan dan tabel berisi foreign keys, trigger, atau event trigger, DTS sementara mengatur session_replication_role ke replica pada tingkat sesi. Jika akun tidak memiliki izin yang diperlukan, atur session_replication_role ke replica secara manual. Setelah tugas dirilis, ubah nilai kembali ke origin.

Pertimbangan kinerja

  • Evaluasi dampak terhadap kinerja database sumber dan tujuan sebelum memulai. Jalankan sinkronisasi selama jam sepi.

  • Selama sinkronisasi data penuh awal, DTS menggunakan sumber daya baca dan tulis kedua database, yang meningkatkan beban server.

  • Operasi INSERT konkuren selama sinkronisasi data penuh awal menyebabkan fragmentasi pada tabel tujuan. Setelah sinkronisasi data penuh selesai, ruang tabel tujuan akan lebih besar daripada sumber.

  • Jangan menulis data ke database tujuan dari sumber lain selama sinkronisasi karena hal ini dapat menyebabkan ketidakkonsistenan atau kehilangan data.

Latensi sinkronisasi

DTS menghitung latensi sinkronisasi berdasarkan timestamp catatan terbaru yang disinkronkan di tujuan dan timestamp saat ini di sumber. Jika tidak ada operasi DML yang dijalankan di sumber dalam periode yang lama, latensi yang dilaporkan mungkin tidak akurat. Jalankan operasi DML di sumber untuk memperbarui pembacaan latensi.

Tips: Jika Anda menyinkronkan seluruh database, buat tabel heartbeat yang menerima pembaruan setiap detik agar latensi tetap akurat.

DTS juga menjalankan CREATE DATABASE IF NOT EXISTS 'test' pada database sumber secara berkala untuk memajukan posisi file log biner.

Pemulihan kegagalan tugas DTS

Jika tugas DTS gagal, tim dukungan teknis DTS akan berusaha memulihkannya dalam waktu 8 jam. Selama pemulihan, tugas mungkin dimulai ulang dan parameter tugas (bukan parameter database) mungkin dimodifikasi.

Menyiapkan tugas sinkronisasi data

Penyiapan terdiri dari sembilan langkah: buka halaman Tugas Sinkronisasi Data, pilih wilayah, konfigurasi database sumber dan tujuan, uji konektivitas, konfigurasi objek sinkronisasi dan pengaturan lanjutan, jalankan Pemeriksaan Awal, beli instans, dan mulai tugas.

Langkah 1: Buka halaman Tugas Sinkronisasi Data

  1. Masuk ke Konsol Data Management (DMS).

  2. Pada bilah navigasi atas, klik Data + AI.

  3. Pada panel navigasi kiri, pilih DTS (DTS) > Data Synchronization.

Operasi mungkin berbeda tergantung pada mode dan tata letak Konsol DMS. Lihat Mode simple dan Sesuaikan tata letak dan gaya Konsol DMS. Anda juga dapat langsung menuju halaman Tugas Sinkronisasi Data di Konsol DTS baru.

Langkah 2: Pilih wilayah

Di sisi kanan Tugas Sinkronisasi Data, pilih wilayah tempat instansi sinkronisasi data berada.

Di Konsol DTS baru, pilih wilayah pada bilah navigasi atas.

Langkah 3: Konfigurasi database sumber dan tujuan

Klik Create Task. Pada wizard Create Data Synchronization Task, konfigurasikan parameter berikut.

Source Database

ParameterDeskripsi
Task NameNama tugas DTS. DTS menghasilkan nama secara otomatis. Tentukan nama deskriptif untuk mengidentifikasi tugas. Nama tidak perlu unik.
Database TypePilih MySQL.
Connection TypePilih Alibaba Cloud Instance.
Instance RegionWilayah tempat instans ApsaraDB RDS for MySQL sumber berada.
Replicate Data Across Alibaba Cloud AccountsPilih No untuk sinkronisasi dalam akun yang sama.
RDS Instance IDID instans ApsaraDB RDS for MySQL sumber.
Database AccountAkun database instans sumber.
Database PasswordKata sandi untuk akun database.
EncryptionPilih Non-encrypted atau SSL-encrypted. Untuk menggunakan enkripsi SSL, aktifkan enkripsi SSL pada instans sumber sebelum mengonfigurasi tugas ini. Lihat Gunakan sertifikat cloud untuk mengaktifkan enkripsi SSL.

Destination Database

ParameterDeskripsi
Database TypePilih PostgreSQL.
Connection TypePilih Alibaba Cloud Instance.
Instance RegionWilayah tempat instans ApsaraDB RDS for PostgreSQL tujuan berada.
Instance IDID instans ApsaraDB RDS for PostgreSQL tujuan.
Database NameNama database tujuan.
Database AccountAkun database instans tujuan. Akun harus memiliki izin owner pada skema. Lihat Buat akun.
Database PasswordKata sandi untuk akun database.

Langkah 4: Uji konektivitas dan lanjutkan

Klik Test Connectivity and Proceed.

DTS secara otomatis menambahkan blok CIDR servernya ke daftar putih instans database Alibaba Cloud seperti ApsaraDB RDS for MySQL. Untuk database yang dikelola sendiri pada instance Elastic Compute Service (ECS), DTS menambahkan blok CIDR ke aturan grup keamanan ECS — pastikan instance ECS dapat mengakses database. Untuk database yang dikelola sendiri di pusat data atau penyedia cloud pihak ketiga, tambahkan secara manual blok CIDR server DTS ke daftar putih database. Lihat Tambahkan blok CIDR server DTS.

Peringatan

Menambahkan blok CIDR server DTS ke daftar putih database atau aturan grup keamanan ECS menimbulkan risiko keamanan. Sebelum menggunakan DTS, ambil langkah pencegahan: perkuat keamanan username dan password, batasi port yang terbuka, autentikasi panggilan API, dan audit rutin aturan daftar putih serta grup keamanan. Hapus blok CIDR yang tidak sah. Atau, hubungkan database ke DTS melalui Express Connect, VPN Gateway, atau Smart Access Gateway.

Langkah 5: Konfigurasi objek sinkronisasi dan pengaturan lanjutan

Pengaturan dasar

ParameterDeskripsi
Synchronization TypesPilih Schema Synchronization, Full Data Synchronization, dan Incremental Data Synchronization. Setelah Pemeriksaan Awal, DTS menyinkronkan data historis dari sumber ke tujuan, yang menjadi dasar untuk sinkronisasi inkremental berikutnya.
Processing Mode of Conflicting TablesPrecheck and Report Errors: DTS memeriksa apakah tujuan berisi tabel dengan nama yang sama seperti di sumber. Jika nama tabel identik ditemukan, error ditampilkan selama Pemeriksaan Awal dan tugas tidak dapat dimulai. Gunakan fitur pemetaan nama objek untuk mengganti nama tabel yang bentrok. Lihat Pemetaan nama objek. Ignore Errors and Proceed: Melewati pemeriksaan nama tabel identik.
Peringatan

Hal ini dapat menyebabkan ketidakkonsistenan data. Selama sinkronisasi data penuh, DTS tidak menimpa catatan yang sudah ada dengan primary key atau unique key yang sama — catatan tujuan yang sudah ada dipertahankan. Selama sinkronisasi data inkremental, DTS menimpa catatan yang cocok. Jika skema sumber dan tujuan berbeda, beberapa kolom mungkin tidak disinkronkan atau tugas mungkin gagal.

Capitalization of Object Names in Destination InstanceKebijakan kapitalisasi untuk nama database, tabel, dan kolom. Default: Kebijakan default DTS. Lihat Tentukan kapitalisasi nama objek di instans tujuan.
Source ObjectsPilih objek dari Source Objects lalu klik ikon panah untuk memindahkannya ke Selected Objects. Anda dapat memilih kolom, tabel, atau database. Jika memilih tabel atau kolom, DTS tidak menyinkronkan view, trigger, atau prosedur tersimpan.
Selected ObjectsUntuk mengganti nama satu objek, klik kanan objek tersebut di bagian Selected Objects. Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit di pojok kanan atas. Lihat Pemetaan nama objek.
Catatan

Bidang waktu mendukung tipe data TIMESTAMP. Jika nilai bidang waktu di sumber adalah 0, nilai tersebut dikonversi menjadi null di tujuan.

Pengaturan lanjutan

ParameterDeskripsi
Monitoring and AlertingPilih Yes untuk mengonfigurasi peringatan saat tugas gagal atau latensi sinkronisasi melebihi ambang batas. Lihat Konfigurasi pemantauan dan peringatan.
Retry Time for Failed ConnectionsRentang waktu di mana DTS mencoba koneksi ulang setelah gagal. Nilai valid: 10–1.440 menit. Default: 720 menit. Atur lebih dari 30 menit. Jika DTS terhubung kembali dalam rentang waktu yang ditentukan, tugas dilanjutkan. Jika tidak, tugas gagal.
Catatan

Saat beberapa tugas berbagi database sumber atau tujuan yang sama, rentang waktu retry terpendek yang berlaku. DTS menagih instans selama upaya retry.

Configure ETLPilih Yes untuk mengaktifkan fitur ekstrak, transformasi, muat (ETL) dan masukkan pernyataan pemrosesan data. Lihat Konfigurasi ETL dalam tugas migrasi atau sinkronisasi data dan Apa itu ETL?

Langkah 6: Simpan pengaturan dan jalankan Pemeriksaan Awal

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

  • Klik Next: Save Task Settings and Precheck.

DTS menjalankan Pemeriksaan Awal sebelum tugas dapat dimulai. Jika Pemeriksaan Awal gagal, klik View Details di sebelah setiap item yang gagal, selesaikan masalah berdasarkan hasil pemeriksaan, lalu klik Precheck Again. Jika item Pemeriksaan Awal memicu peringatan yang dapat diabaikan, klik Confirm Alert Details, klik Ignore pada kotak dialog, klik OK, lalu klik Precheck Again. Mengabaikan item peringatan dapat menyebabkan ketidakkonsistenan data.

Langkah 7: Tunggu hingga Pemeriksaan Awal lolos

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

Langkah 8: Beli instans sinkronisasi

Pada halaman pembelian, konfigurasikan parameter berikut.

ParameterDeskripsi
Billing MethodSubscription: Bayar di muka untuk periode tetap. 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 menghindari tagihan berkelanjutan.
Resource Group SettingsKelompok sumber daya untuk instans sinkronisasi. Default: default resource group. Lihat Apa itu Resource Management?
Instance ClassKecepatan sinkronisasi bervariasi berdasarkan kelas instans. Lihat Kelas instans untuk instansi sinkronisasi data.
Subscription DurationHanya tersedia untuk metode penagihan Subscription. Opsi: 1–9 bulan, 1 tahun, 2 tahun, 3 tahun, atau 5 tahun.

Langkah 9: Mulai tugas

Baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms, lalu klik Buy and Start. Pada kotak dialog, klik OK.

Tugas muncul di daftar tugas. Lacak progresnya dari sana.