All Products
Search
Document Center

Data Transmission Service:Sinkronisasi data dari klaster PolarDB for MySQL ke proyek MaxCompute

Last Updated:Mar 29, 2026

Gunakan Data Transmission Service (DTS) untuk mereplikasi data dari klaster PolarDB for MySQL ke proyek MaxCompute. DTS menangani sinkronisasi skema, pemuatan data penuh awal, dan penangkapan perubahan inkremental berkelanjutan dalam satu tugas terkelola.

Sebelum memulai

Sebelum memulai, pastikan Anda telah:

Sebagai alternatif penggunaan langsung pasangan AccessKey Akun Alibaba Cloud, buat Pengguna RAM dan tetapkan Pengguna RAM sebagai super administrator untuk proyek MaxCompute.

Penagihan

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

Cara kerja sinkronisasi

DTS menjalankan sinkronisasi dalam tiga tahap berurutan:

  1. Schema Synchronization — DTS mereplikasi skema tabel dari PolarDB for MySQL ke MaxCompute. Setiap tabel sumber menerima akhiran _base di MaxCompute (misalnya, customer menjadi customer_base).

  2. Full data synchronization — DTS menyalin semua baris yang ada dari tabel sumber ke tabel _base yang sesuai. Tabel garis dasar penuh ini menjadi titik awal untuk sinkronisasi inkremental.

  3. Incremental Data Synchronization — DTS membuat tabel _log untuk setiap tabel sumber (misalnya, customer_log) dan terus-menerus menulis catatan perubahan dari log biner sumber ke tabel tersebut.

Untuk struktur tabel _log, lihat Struktur tabel data inkremental.

Topologi sinkronisasi yang didukung

  • Sinkronisasi satu arah satu-ke-satu

  • Sinkronisasi satu arah satu-ke-banyak

  • Sinkronisasi satu arah cascade

  • Sinkronisasi satu arah banyak-ke-satu

Untuk daftar lengkapnya, lihat Topologi sinkronisasi.

Operasi SQL yang dapat disinkronkan

Jenis operasiPernyataan SQL
DMLINSERT, UPDATE, DELETE
DDLADD COLUMN (ADD COLUMN dengan kolom atribut tidak dapat disinkronkan)
DTS tidak menyinkronkan kunci asing. Operasi cascade dan delete pada sumber tidak direplikasi ke tujuan.

Batasan

Source Database

BatasanRincian
Kunci utama atau kunci unik wajibTabel harus memiliki kendala PRIMARY KEY atau UNIQUE dengan semua bidang unik; jika tidak, catatan duplikat mungkin muncul di tujuan.
Batas tabel per tugasJika Anda memilih tabel individual sebagai objek sinkronisasi dan perlu mengganti namanya di tujuan, satu tugas mendukung hingga 1.000 tabel. Untuk lebih dari 1.000 tabel, konfigurasikan beberapa tugas atau sinkronkan pada tingkat database.
Persyaratan log binerLihat tabel di bawah.
DDL selama sinkronisasiJangan menjalankan pernyataan DDL yang mengubah skema database atau tabel selama sinkronisasi skema atau sinkronisasi data penuh. Tugas akan gagal.

Persyaratan log biner untuk klaster PolarDB for MySQL sumber

ParameterNilai yang diperlukanCatatan
loose_polar_log_binONBinary logging harus diaktifkan. Jika tidak diatur, pemeriksaan awal gagal dan tugas tidak dapat dimulai. Mengaktifkan binary logging dikenai biaya penyimpanan. Lihat Aktifkan binary logging dan Ubah parameter.
Periode retensi log binerMinimal 3 hari (disarankan 7 hari)Periode retensi kurang dari 3 hari berisiko menyebabkan inkonsistensi atau kehilangan data dan dapat memengaruhi jaminan perjanjian tingkat layanan (SLA) DTS. Lihat Ubah periode retensi.

Batasan lainnya

  • DTS tidak menyinkronkan node read-only dari klaster PolarDB for MySQL sumber.

  • DTS tidak menyinkronkan tabel eksternal Object Storage Service (OSS) dari klaster sumber.

  • Evaluasi dampak terhadap kinerja database sumber dan tujuan sebelum memulai sinkronisasi. Jalankan sinkronisasi selama jam sepi jika memungkinkan. Sinkronisasi data penuh awal menggunakan sumber daya baca dan tulis di kedua sisi dan dapat meningkatkan beban server.

  • Setelah sinkronisasi data penuh awal selesai, ukuran ruang tabel yang digunakan di database tujuan lebih besar daripada sumber karena fragmentasi dari operasi INSERT bersamaan.

  • Jangan gunakan alat seperti pt-online-schema-change untuk menjalankan operasi DDL pada tabel sumber selama sinkronisasi. Tugas akan gagal.

  • Jika tidak ada sumber lain yang menulis ke tujuan selama sinkronisasi, Anda dapat menggunakan Data Management (DMS) untuk menjalankan operasi DDL online pada tabel sumber. Lihat Lakukan operasi DDL tanpa lock.

  • Jika sumber lain menulis ke tujuan saat Anda juga menjalankan DDL online melalui DMS, kehilangan data dapat terjadi di tujuan.

  • MaxCompute tidak mendukung kendala PRIMARY KEY. Jika terjadi error jaringan, DTS mungkin menulis catatan duplikat ke proyek MaxCompute.

  • Jika tugas DTS gagal, dukungan teknis DTS akan mencoba memulihkan tugas dalam waktu 8 jam. Selama pemulihan, tugas mungkin dimulai ulang dan parameter tugas (bukan parameter database) mungkin diubah. Untuk parameter yang mungkin berubah, lihat bagian Ubah parameter instans.

Kasus khusus

DTS secara berkala mengeksekusi CREATE DATABASE IF NOT EXISTS \test\`` pada database sumber untuk memajukan posisi log biner.

Buat tugas sinkronisasi data

Langkah 1: Buka halaman Sinkronisasi Data

Gunakan salah satu konsol berikut untuk membuka halaman Sinkronisasi Data dan pilih wilayah tempat instans sinkronisasi akan berada.

Konsol DTS

  1. Masuk ke Konsol DTS.

  2. Di panel navigasi kiri, klik Data Synchronization.

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

Konsol DMS

Catatan

Operasi aktual dapat berbeda tergantung pada mode dan tata letak Konsol DMS. Untuk informasi selengkapnya, lihat Mode simple dan Sesuaikan tata letak dan gaya Konsol DMS.

  1. Masuk ke Konsol DMS.

  2. Di bilah navigasi atas, arahkan kursor ke Data + AI lalu pilih DTS (DTS) > Data Synchronization.

  3. Dari daftar drop-down di sebelah kanan Data Synchronization Tasks, pilih wilayah tempat instans sinkronisasi data berada.

Langkah 2: Konfigurasi database sumber dan tujuan

  1. Klik Create Task untuk membuka halaman konfigurasi tugas.

  2. Konfigurasikan database sumber dan tujuan menggunakan parameter berikut.

BagianParameterDeskripsi
N/ATask NameNama tugas DTS. DTS menghasilkan nama secara otomatis. Tentukan nama deskriptif untuk memudahkan identifikasi. Nama tidak perlu unik.
Source DatabaseSelect Existing ConnectionJika sumber sudah terdaftar di DTS, pilih dari daftar drop-down dan DTS akan mengisi parameter lainnya secara otomatis. Lihat Kelola koneksi database. Di Konsol DMS, pilih instans dari daftar Select a DMS database instance. Jika instans belum terdaftar, isi parameter di bawah ini secara manual.
Database TypePilih PolarDB for MySQL.
Connection TypePilih Alibaba Cloud Instance.
Instance RegionWilayah klaster PolarDB for MySQL sumber.
Cross-accountPilih No untuk menyinkronkan dalam Akun Alibaba Cloud yang sama.
PolarDB Cluster IDID klaster PolarDB for MySQL sumber.
Database AccountAkun untuk klaster sumber. Akun harus memiliki izin baca pada objek yang akan disinkronkan.
Database PasswordKata sandi untuk akun database.
EncryptionOpsional. Aktifkan enkripsi SSL untuk koneksi ke klaster sumber berdasarkan kebutuhan keamanan Anda. Lihat Konfigurasi enkripsi SSL.
Destination DatabaseSelect Existing ConnectionJika tujuan sudah terdaftar di DTS, pilih dari daftar drop-down. Lihat Kelola koneksi database. Jika belum terdaftar, isi parameter di bawah ini secara manual.
Database TypePilih MaxCompute.
Connection TypePilih Alibaba Cloud Instance.
Instance RegionWilayah proyek MaxCompute tujuan.
ProjectNama proyek MaxCompute.
AccessKey ID of Alibaba Cloud AccountID AccessKey dari prasyarat Anda.
AccessKey Secret of Alibaba Cloud AccountRahasia AccessKey dari prasyarat Anda.
  1. Klik Test Connectivity and Proceed.

DTS harus dapat mengakses database sumber dan tujuan. Jika diperlukan, tambahkan blok CIDR server DTS ke pengaturan keamanan database Anda. Lihat Tambahkan blok CIDR server DTS.
  1. Klik OK untuk menyelesaikan otorisasi akun ODPS (MaxCompute), lalu klik Test Connectivity and Proceed lagi.

Langkah 3: Konfigurasi objek sinkronisasi

  1. Pada langkah Configure Objects, atur parameter berikut.

ParameterDeskripsi
Synchronization TypesSecara default, Incremental Data Synchronization dipilih. Pilih juga Schema Synchronization dan Full Data Synchronization. Ketiganya diperlukan untuk menetapkan data garis dasar dan menangkap perubahan berkelanjutan.
Naming Rules of Additional ColumnsDTS menambahkan kolom metadata ke tabel tujuan. Jika nama kolom tersebut bertentangan dengan nama kolom yang sudah ada, tugas akan gagal. Pilih New Rule atau Previous Rule sesuai kebutuhan Anda. Sebelum memilih, verifikasi bahwa tidak ada konflik nama antara kolom tambahan dan kolom tujuan yang sudah ada. Lihat Aturan penamaan untuk kolom tambahan.
Partition Definition of Incremental Data TablePilih nama partisi sesuai kebutuhan Anda. Lihat Partisi.
Processing Mode of Conflicting TablesPrecheck and Report Errors: Memeriksa apakah tabel tujuan memiliki nama yang sama dengan tabel sumber. Jika nama identik ditemukan, kesalahan dikembalikan dan tugas tidak dapat dimulai. Untuk menyelesaikan konflik tanpa menghapus tabel tujuan, gunakan fitur pemetaan nama objek. Lihat Pemetaan nama objek. Ignore Errors and Proceed: Melewati pemeriksaan konflik nama. Jika tabel sumber dan tujuan memiliki skema yang sama, DTS melewati catatan yang bertentangan selama sinkronisasi penuh tetapi menimpanya selama sinkronisasi inkremental. Jika skema berbeda, inisialisasi data mungkin sebagian gagal. Gunakan dengan hati-hati.
Capitalization of Object Names in Destination InstanceMengontrol kapitalisasi nama database, tabel, dan kolom di tujuan. Default adalah DTS default policy. Lihat Tentukan kapitalisasi nama objek di instans tujuan.
Source ObjectsPilih tabel dari bagian Source Objects lalu klik ikon panah kanan untuk memindahkannya ke bagian Selected Objects.
Selected ObjectsUntuk mengganti nama satu objek di tujuan, klik kanan objek tersebut di bagian Selected Objects. Lihat Pemetaan nama satu objek. Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit di pojok kanan atas. Lihat Pemetaan nama beberapa objek sekaligus.
  1. Klik Next: Advanced Settings dan konfigurasikan parameter berikut.

ParameterDeskripsi
Dedicated Cluster for Task SchedulingSecara default, DTS menjadwalkan tugas ke klaster bersama. Untuk meningkatkan stabilitas tugas, beli dan tentukan klaster khusus. Lihat Apa itu klaster khusus DTS.
Retry Time for Failed ConnectionsBerapa lama DTS mencoba ulang setelah kegagalan koneksi. Nilai valid: 10–1440 menit. Default: 720 menit. Kami menyarankan Anda mengatur parameter ini ke nilai lebih dari 30. Jika DTS terhubung kembali dalam jendela ini, tugas dilanjutkan; jika tidak, tugas gagal. Jika beberapa tugas berbagi database sumber atau tujuan yang sama, waktu coba ulang terpendek yang berlaku. DTS mengenakan biaya untuk instans selama mencoba ulang.
Retry Time for Other IssuesBerapa lama DTS mencoba ulang setelah kegagalan operasi DDL atau DML. Nilai valid: 1–1440 menit. Default: 10 menit. Kami menyarankan Anda mengatur parameter ini ke nilai lebih dari 10. Nilai ini harus lebih kecil dari Retry Time for Failed Connections.
Enable Throttling for Full Data SynchronizationMembatasi penggunaan sumber daya selama sinkronisasi data penuh dengan mengonfigurasi Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s). Tersedia hanya jika Full Data Synchronization dipilih.
Enable Throttling for Incremental Data SynchronizationMembatasi penggunaan sumber daya selama sinkronisasi inkremental dengan mengonfigurasi RPS of Incremental Data Synchronization dan Data synchronization speed for incremental synchronization (MB/s).
Whether to delete SQL operations on heartbeat tables of forward and reverse tasksMengontrol apakah DTS menulis operasi SQL heartbeat ke database sumber. Yespengaturan pemberitahuan peringatan: Tidak menulis operasi heartbeat. Indikator latensi mungkin muncul untuk instans DTS. No: Menulis operasi heartbeat. Backup fisik dan kloning database sumber mungkin terpengaruh.
Environment TagTag opsional untuk mengidentifikasi instans DTS.
Configure ETLMengaktifkan fitur ekstrak, transformasi, dan muat (ETL). Yes: Membuka editor kode untuk pernyataan pemrosesan data. Lihat Konfigurasi ETL dalam tugas migrasi data atau sinkronisasi data. No: Melewatkan konfigurasi ETL. Lihat Apa itu ETL?
Monitoring and AlertingMengonfigurasi peringatan untuk kegagalan tugas atau latensi yang melebihi ambang batas. No: Menonaktifkan peringatan. Yes: Mengaktifkan peringatan. Atur ambang batas peringatan dan pengaturan notifikasi. Lihat Konfigurasi pemantauan dan peringatan saat membuat tugas DTS.

Langkah 4: Jalankan pemeriksaan awal

  1. Klik Next: Save Task Settings and Precheck.

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

DTS menjalankan pemeriksaan awal sebelum tugas dapat dimulai.

  1. Jika pemeriksaan awal gagal, klik View Details di sebelah item yang gagal, selesaikan masalahnya, lalu klik Precheck Again.

  2. Jika peringatan dipicu:

    • Jika peringatan tidak dapat diabaikan, klik View Details, perbaiki masalahnya, lalu jalankan ulang pemeriksaan awal.

    • Jika peringatan dapat diabaikan, klik Confirm Alert Details, lalu klik Ignore di kotak dialog, konfirmasi dengan OK, dan klik Precheck Again. Mengabaikan peringatan dapat menyebabkan inkonsistensi data.

Langkah 5: Beli instans

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

  2. Di halaman buy, konfigurasikan pengaturan penagihan dan instans.

BagianParameterDeskripsi
New Instance ClassMetode penagihanSubscription: 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. Lepaskan instans saat tidak lagi diperlukan untuk menghentikan penagihan.
Instance classMengontrol kecepatan sinkronisasi. Pilih kelas berdasarkan kebutuhan throughput Anda. Lihat Kelas instans untuk instansi sinkronisasi data.
Durasi langgananTersedia hanya untuk penagihan langganan. Opsi: 1–9 bulan, 1 tahun, 2 tahun, 3 tahun, atau 5 tahun.
Pengaturan kelompok sumber dayaKelompok sumber daya untuk instans. Default: default resource group. Lihat Apa itu Resource Management?
  1. Baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.

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

Tugas muncul di daftar tugas. Pantau perkembangannya di sana.

Struktur tabel data inkremental

Jalankan set odps.sql.allow.fullscan=true; di MaxCompute untuk mengizinkan pemindaian tabel penuh pada proyek sebelum mengkueri tabel data inkremental.

Setiap tabel data inkremental (_log table) berisi kolom sumber asli ditambah bidang metadata berikut yang ditambahkan oleh DTS.

BidangDeskripsi
record_idID unik dan inkremental untuk setiap entri log. Untuk operasi UPDATE, DTS membagi perubahan menjadi dua catatan (nilai sebelum dan sesudah) yang berbagi record_id yang sama.
operation_flagJenis operasi: I (INSERT), D (DELETE), atau U (UPDATE).
utc_timestampTimestamp entri log biner dalam UTC.
before_flagMenunjukkan apakah nilai baris mewakili status sebelum pembaruan. Nilai valid: Y atau N.
after_flagMenunjukkan apakah nilai baris mewakili status setelah pembaruan. Nilai valid: Y atau N.