All Products
Search
Document Center

Data Transmission Service:Sinkronkan\ data\ dari\ instans\ ApsaraDB\ RDS\ for\ MySQL\ ke\ Instans

Last Updated:Mar 29, 2026

Layanan Transmisi Data (DTS) menjaga agar instans AnalyticDB for PostgreSQL tetap sinkron dengan sumber ApsaraDB RDS for MySQL, sehingga memungkinkan analitik real-time terhadap data bisnis yang sedang berjalan. Topik ini menjelaskan cara mengonfigurasi tugas sinkronisasi data untuk pipeline ini.

Database sumber yang didukung

Prosedur dalam topik ini menggunakan instans ApsaraDB RDS for MySQL sebagai sumber. Langkah-langkah yang sama berlaku ketika sumbernya adalah salah satu jenis database MySQL berikut:

  • Instans ApsaraDB RDS for MySQL

  • Database MySQL yang dikelola sendiri yang dihosting di Elastic Compute Service (ECS)

  • Database MySQL yang dikelola sendiri yang terhubung melalui Express Connect, VPN Gateway, atau Smart Access Gateway

  • Database MySQL yang dikelola sendiri yang terhubung melalui Database Gateway

  • Database MySQL yang dikelola sendiri yang terhubung melalui Cloud Enterprise Network (CEN)

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • Instans sumber ApsaraDB RDS for MySQL

  • Instans tujuan AnalyticDB for PostgreSQL. Lihat Buat instans

  • Akun database pada instans sumber dengan izin REPLICATION CLIENT, REPLICATION SLAVE, SHOW VIEW, dan SELECT

  • Akun database pada instans tujuan dengan peran akun awal atau izin RDS_SUPERUSER. Lihat Kelola pengguna dan izin

Persyaratan log biner

Verifikasi pengaturan log biner berikut sebelum mengonfigurasi DTS.

Untuk ApsaraDB RDS for MySQL (binary logging diaktifkan secara default):

Untuk MySQL yang dikelola sendiri:

Peringatan

Jika log biner dihapus sebelum DTS membacanya, tugas sinkronisasi gagal dan dapat menyebabkan inkonsistensi atau kehilangan data. DTS tidak menjamin kinerja Service Level Agreement (SLA) jika periode retensi lebih pendek dari ketentuan minimum di atas.

Penagihan

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

Batasan

Database sumber

  • Tabel harus memiliki PRIMARY KEY atau kendala UNIK dengan semua bidang unik. Tabel tanpa kendala ini dapat menghasilkan catatan duplikat di tujuan.

  • Ketika menyinkronkan tabel individual (bukan seluruh database) dan Anda ingin mengedit tabel tersebut, seperti mengganti nama tabel atau kolom, satu tugas mendukung hingga 1.000 tabel. Jika tugas melebihi 1.000 tabel, terjadi error permintaan. Untuk set yang lebih besar, konfigurasikan beberapa tugas atau lakukan sinkronisasi di tingkat database.

  • DTS tidak menyinkronkan tipe data berikut: BIT, VARBIT, GEOMETRY, ARRAY, UUID, TSQUERY, TSVECTOR, TXID_SNAPSHOT, dan POINT.

  • Indeks prefiks tidak didukung dan dapat menyebabkan tugas gagal.

  • Hanya tabel yang dapat dipilih sebagai objek sinkronisasi. Indeks, partisi, view, prosedur tersimpan, fungsi, pemicu, dan kunci asing tidak disertakan.

  • Jangan jalankan pernyataan DDL yang mengubah kunci primer atau menambahkan komentar selama sinkronisasi. Misalnya, ALTER TABLE table_name COMMENT='...' tidak berpengaruh.

  • Jangan jalankan pernyataan DDL yang mengubah skema database atau tabel selama fase sinkronisasi skema atau sinkronisasi data penuh.

  • Jika sumbernya adalah MySQL 8.0.23 atau versi lebih baru dan tabel mencakup kolom tak terlihat (invisible columns), DTS tidak dapat membaca kolom tersebut dan terjadi kehilangan data. Jalankan ALTER TABLE <table_name> ALTER COLUMN <column_name> SET VISIBLE; untuk membuat kolom tersebut terlihat sebelum memulai tugas. Tabel tanpa kunci primer eksplisit akan menghasilkan kunci primer tak terlihat secara otomatis — buat juga kunci tersebut terlihat. Lihat Invisible Columns dan Generated Invisible Primary Keys.

  • Jika sumbernya adalah instans ApsaraDB RDS for MySQL dengan EncDB diaktifkan, sinkronisasi data penuh tidak didukung. Instans dengan Transparent Data Encryption (TDE) yang diaktifkan mendukung ketiga jenis sinkronisasi.

  • Nilai DATETIME 0000-00-00 00:00:00 dikonversi menjadi null di tujuan. Untuk menghindarinya, ubah nilainya menjadi 0001-01-01 00:00:00 di sumber atau biarkan bidang tujuan kosong sebelum memulai tugas.

  • Data yang dihasilkan oleh operasi perubahan log biner — seperti data yang dipulihkan dari backup fisik atau data dari operasi kaskade — tidak dicatat atau disinkronkan ke tujuan selama instans sinkronisasi berjalan. Jika hal ini terjadi, Anda dapat menghapus database atau tabel yang terdampak dari objek yang disinkronkan lalu menambahkannya kembali, asalkan tidak memengaruhi bisnis Anda. Lihat Ubah objek yang akan disinkronkan.

Database tujuan

  • Tabel tujuan tidak boleh berupa tabel append-optimized (AO).

  • Kunci unik (termasuk kunci primer) tabel tujuan harus mencakup semua kolom kunci distribusi.

  • Jika tabel sumber memiliki kunci primer, kolom kunci primer tujuan sesuai dengan sumber. Jika tabel sumber tidak memiliki kunci primer, kolom kunci primer tujuan sesuai dengan kunci distribusi.

Batasan lainnya

  • Data yang ditulis ke tujuan dari sumber lain selama sinkronisasi dapat menyebabkan inkonsistensi. Hindari penulisan konkuren ke tabel tujuan saat DTS sedang berjalan.

  • Alat Online DDL seperti pt-online-schema-change tidak didukung ketika tabel individual dipilih sebagai objek. Gunakan Data Management (DMS) untuk operasi DDL tanpa lock sebagai gantinya. Lihat Lakukan operasi DDL tanpa lock.

  • Jika pemetaan kolom digunakan atau skema sumber dan tujuan berbeda, kolom yang ada di sumber tetapi tidak ada di tujuan tidak disinkronkan.

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

  • DTS sementara menonaktifkan pemeriksaan kendala kunci asing dan operasi kaskade di tingkat session selama sinkronisasi data penuh dan inkremental. Pembaruan atau penghapusan kaskade di sumber selama periode ini dapat menyebabkan inkonsistensi data.

  • Selama sinkronisasi data penuh awal, operasi INSERT konkuren menyebabkan fragmentasi tabel di tujuan. Ruang tabel tujuan akan lebih besar daripada sumber setelah sinkronisasi penuh selesai. Jadwalkan sinkronisasi awal selama jam sepi untuk mengurangi beban.

  • Jika tugas DTS gagal, dukungan teknis DTS berusaha memulihkannya dalam waktu 8 jam. Tugas dapat dimulai ulang dan parameternya disesuaikan selama pemulihan.

Sumber MySQL yang dikelola sendiri

  • Alih bencana primary/secondary saat tugas sedang berjalan menyebabkan tugas gagal.

  • DTS menghitung latensi sinkronisasi berdasarkan stempel waktu terakhir yang disinkronkan dibandingkan dengan stempel waktu sumber saat ini. Jika tidak ada operasi DML yang dijalankan di sumber dalam jangka waktu lama, latensi yang dilaporkan mungkin tidak akurat. Jalankan operasi DML di sumber untuk memperbarui metrik latensi. Jika Anda memilih seluruh database sebagai objek sinkronisasi, Anda dapat membuat tabel heartbeat yang diperbarui setiap detik untuk menjaga akurasi metrik latensi.

  • DTS secara berkala menjalankan CREATE DATABASE IF NOT EXISTS 'test' di sumber untuk memajukan posisi log biner.

Sumber ApsaraDB RDS for MySQL

  • Instans ApsaraDB RDS for MySQL yang tidak mencatat log transaksi, seperti instans ApsaraDB RDS for MySQL 5.6 read-only, tidak dapat digunakan sebagai sumber.

  • DTS secara berkala menjalankan CREATE DATABASE IF NOT EXISTS 'test' di sumber untuk memajukan posisi log biner.

Operasi SQL yang dapat disinkronkan

DML: INSERT, UPDATE, DELETE

Saat menulis ke AnalyticDB for PostgreSQL, DTS mengonversi UPDATE menjadi REPLACE INTO. Jika UPDATE menargetkan kolom kunci primer, DTS mengonversinya menjadi DELETE diikuti oleh INSERT.

DDL: CREATE TABLE, ALTER TABLE, TRUNCATE TABLE, DROP TABLE

Topologi sinkronisasi yang didukung

  • Satu arah satu-ke-satu

  • Satu arah satu-ke-banyak

  • Satu arah banyak-ke-satu

Pemetaan istilah

MySQLAnalyticDB for PostgreSQL
DatabaseSchema
TableTable

Konfigurasi tugas sinkronisasi data

Prosedur ini terdiri dari 9 langkah: buka halaman tugas, pilih wilayah, konfigurasi database sumber dan tujuan, uji konektivitas, konfigurasi objek dan pengaturan, konfigurasi pengaturan lanjutan, atur kolom kunci, jalankan pemeriksaan awal, serta beli dan mulai instans.

Langkah 1: Buka halaman Tugas Sinkronisasi Data

  1. Masuk ke Konsol Data Management (DMS).

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

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

Navigasi konsol dapat berbeda tergantung tata letak DMS Anda. Lihat Mode simple dan Sesuaikan tata letak dan gaya konsol DMS. Atau, langsung buka halaman Tugas Sinkronisasi Data.

Langkah 2: Pilih wilayah

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

Di konsol DTS baru, pilih wilayah dari bilah navigasi atas.

Langkah 3: Konfigurasi database sumber dan tujuan

Klik Create Task. Di wizard, konfigurasi parameter berikut.

Source database

ParameterDeskripsi
Task NameNama untuk tugas DTS. DTS menghasilkan nama secara otomatis. Gunakan nama deskriptif agar mudah diidentifikasi — tidak perlu unik.
Database TypePilih MySQL.
Access MethodPilih Alibaba Cloud Instance.
Instance RegionWilayah instans sumber ApsaraDB RDS for MySQL.
Replicate Data Across Alibaba Cloud AccountsPilih No untuk sinkronisasi dalam akun yang sama.
RDS Instance IDID instans sumber. Sumber dan tujuan dapat berupa instans yang sama (untuk sinkronisasi dalam instans) atau instans berbeda.
Database AccountAkun dengan izin REPLICATION CLIENT, REPLICATION SLAVE, SHOW VIEW, dan SELECT.
Database PasswordPassword untuk akun database.
EncryptionPilih Non-encrypted atau SSL-encrypted. Untuk menggunakan enkripsi SSL, aktifkan terlebih dahulu di instans RDS. Lihat Gunakan sertifikat cloud untuk mengaktifkan enkripsi SSL.

Destination database

ParameterDeskripsi
Database TypePilih AnalyticDB for PostgreSQL.
Access MethodPilih Alibaba Cloud Instance.
Instance RegionWilayah instans tujuan AnalyticDB for PostgreSQL.
Instance IDID instans tujuan.
Database NameNama database target di instans tujuan.
Database AccountAkun awal atau akun dengan izin RDS_SUPERUSER.
Database PasswordPassword untuk akun database.

Langkah 4: Uji konektivitas

Klik Test Connectivity and Proceed.

DTS secara otomatis menambahkan blok CIDR servernya ke daftar putih instans database Alibaba Cloud dan ke aturan grup keamanan database yang dihosting di ECS. Jika database dihosting di ECS, Anda juga harus memastikan bahwa instance ECS dapat mengakses database tersebut. Jika database dideploy di beberapa instance ECS, Anda harus secara manual menambahkan blok CIDR DTS ke aturan grup keamanan setiap instance ECS. Untuk database yang dikelola sendiri di pusat data atau 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 menimbulkan risiko keamanan. Sebelum melanjutkan, ambil tindakan pencegahan seperti memberlakukan kredensial kuat, membatasi port yang terbuka, melakukan audit rutin terhadap aturan daftar putih, dan menghapus blok CIDR yang tidak sah. Pertimbangkan untuk terhubung melalui Express Connect, VPN Gateway, atau Smart Access Gateway guna mengurangi risiko tersebut.

Langkah 5: Konfigurasi objek dan pengaturan sinkronisasi

ParameterDeskripsi
Synchronization TypesPilih Schema Synchronization, Full Data Synchronization, dan Incremental Data Synchronization. Secara default, Incremental Data Synchronization dipilih; Anda juga harus memilih kedua opsi lainnya. Sinkronisasi skema dan sinkronisasi penuh menetapkan garis dasar, sedangkan sinkronisasi inkremental menjaga agar destinasi tetap mutakhir setelahnya.
Processing Mode of Conflicting TablesPrecheck and Report Errors (default): gagal dalam Pemeriksaan Awal jika terdapat tabel dengan nama yang sama di destinasi. Gunakan Pemetaan nama objek untuk mengganti nama tabel yang bentrok jika diperlukan. Lihat Map object names. Ignore Errors and Proceed: melewati Pemeriksaan Awal untuk konflik nama. Selama sinkronisasi penuh, catatan di destinasi yang sudah ada dengan nilai kunci primary atau kunci unik yang cocok akan dipertahankan. Selama sinkronisasi inkremental, catatan tersebut akan ditimpa. Jika skema berbeda, inisialisasi mungkin gagal, hanya kolom sebagian yang disinkronkan, atau instansi sinkronisasi data gagal—lanjutkan dengan hati-hati.
DDL and DML Operations to Be SynchronizedOperasi SQL yang akan disinkronkan. Lihat SQL operations that can be synchronized. Untuk mengonfigurasi pemfilteran SQL per objek, klik kanan objek di Selected Objects dan pilih operasi yang diinginkan.
Source ObjectsPilih objek dan klik ikon panah untuk menambahkannya ke Selected Objects. Hanya tabel yang didukung.
Selected ObjectsUntuk mengganti nama satu objek, klik kanan objek tersebut. Untuk penggantian nama massal, klik Batch Edit. Lihat Map object names. Untuk memfilter baris, klik kanan tabel dan tentukan kondisi WHERE. Lihat Specify filter conditions. Mengganti nama objek dapat menyebabkan gangguan pada sinkronisasi objek dependen.

Langkah 6: Konfigurasi pengaturan lanjutan

Klik Next: Advanced Settings.

Verifikasi data

Lihat Konfigurasi verifikasi data.

Pengaturan lanjutan

ParameterDeskripsi
Dedicated Cluster for Task SchedulingSecara default, DTS menjadwalkan ke klaster bersama. Beli klaster khusus untuk stabilitas yang lebih baik. Lihat Apa itu klaster khusus DTS.
Set AlertsNo: peringatan dinonaktifkan. Ya: konfigurasi ambang batas peringatan dan kontak. Lihat Konfigurasi pemantauan dan peringatan.
Retry Time for Failed ConnectionsDurasi DTS mencoba ulang saat koneksi gagal. Rentang: 10–1440 menit. Default: 720 menit. Atur minimal 30 menit. Jika beberapa tugas menggunakan sumber atau tujuan yang sama, jendela coba ulang terpendek yang berlaku. DTS menagih instans selama masa coba ulang — segera lepas instans jika sumber dan tujuan sudah tidak digunakan.
Retry Time for Other IssuesDurasi DTS mencoba ulang saat terjadi kegagalan DDL/DML. Rentang: 1–1440 menit. Default: 10 menit. Harus lebih pendek dari Waktu Coba Ulang untuk Koneksi Gagal.
Enable Throttling for Full Data SynchronizationBatasi QPS ke sumber, RPS untuk sinkronisasi penuh, dan throughput data (MB/detik) untuk mengurangi beban selama sinkronisasi data penuh awal. Tersedia hanya jika Sinkronisasi Data Penuh dipilih.
Enable Throttling for Incremental Data SynchronizationBatasi RPS dan throughput (MB/detik) untuk sinkronisasi inkremental guna mengurangi beban di tujuan.
Environment TagBerikan tag pada instans DTS berdasarkan lingkungan. Opsional.
Enclose Object Names in Quotation MarksYa: DTS membungkus nama skema, tabel, dan kolom dalam tanda kutip tunggal atau ganda selama sinkronisasi skema dan inkremental jika nama tersebut mengandung campuran huruf besar/kecil, diawali non-huruf, mengandung karakter non-standar, atau bentrok dengan kata tercadang di tujuan. No: nama tidak diberi tanda kutip.
Configure ETLYa: masukkan pernyataan transformasi data di editor kode. Lihat Konfigurasi ETL. No: tanpa transformasi.
Whether to delete SQL operations on heartbeat tables of forward and reverse tasksYa: DTS tidak menulis operasi tabel heartbeat ke sumber. Metrik latensi mungkin ditampilkan di tugas. No: DTS menulis operasi heartbeat ke sumber, yang dapat memengaruhi backup fisik dan kloning database sumber.

Langkah 7: Atur kolom kunci primer dan kunci distribusi

Klik Next: Configure Database and Table Fields. Atur kolom kunci primer dan kunci distribusi untuk setiap tabel yang disinkronkan ke instans tujuan AnalyticDB for PostgreSQL.

Langkah 8: Jalankan pemeriksaan awal

Klik Next: Save Task Settings and Precheck.

Untuk melihat pratinjau parameter API yang setara sebelum menyimpan, arahkan kursor ke tombol tersebut lalu klik Preview OpenAPI parameters.

DTS menjalankan pemeriksaan awal sebelum memulai sinkronisasi. Jika ada item yang gagal:

  • Klik View Details di sebelah item yang gagal, selesaikan masalahnya, lalu klik Precheck Again.

  • Jika item peringatan dapat diabaikan dengan aman, klik Confirm Alert Details, lalu klik Ignore di dialog, kemudian klik OK, lalu klik Precheck Again. Mengabaikan peringatan dapat menyebabkan inkonsistensi data.

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

Langkah 9: Beli dan mulai instans

Di halaman buy, konfigurasi parameter berikut.

ParameterDeskripsi
Billing MethodPay-as-you-go: ditagih per jam. Lepaskan instans saat tidak lagi digunakan untuk menghindari biaya berkelanjutan.
Resource Group SettingsKelompok sumber daya untuk instans. Default: default resource group. Lihat Apa itu Resource Management?
Instance ClassKelas throughput sinkronisasi. Lihat Kelas instans untuk instans sinkronisasi data.

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

Tugas muncul di daftar tugas. Pantau perkembangannya di sana.