All Products
Search
Document Center

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

Last Updated:Mar 29, 2026

Gunakan Data Transmission Service (DTS) untuk memigrasikan data dari klaster PolarDB for MySQL ke proyek MaxCompute. DTS mendukung migrasi skema, migrasi data penuh, dan migrasi data inkremental—mencakup data historis serta perubahan yang sedang berlangsung.

Cara kerja

DTS menggunakan pipeline tiga tahap untuk memindahkan data dari PolarDB for MySQL ke MaxCompute:

  1. Schema migration: DTS membaca skema tabel sumber dan membuat tabel yang sesuai di MaxCompute dengan menambahkan akhiran _base pada setiap nama tabel. Misalnya, tabel customer menjadi customer_base di MaxCompute.

  2. Full data migration: DTS menyalin semua baris yang ada dari setiap tabel sumber ke tabel _base yang sesuai di MaxCompute. Tabel-tabel ini disebut tabel garis dasar penuh dan berfungsi sebagai titik awal untuk sinkronisasi inkremental.

  3. Incremental data migration: DTS membuat tabel _log terpisah untuk setiap tabel yang dimigrasikan (misalnya, customer_log) dan mengalirkan operasi INSERT, UPDATE, dan DELETE yang sedang berlangsung dari log biner sumber ke tabel-tabel tersebut secara real time.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

Alih-alih menggunakan pasangan Kunci Akses akun utama, buat RAM user dan tetapkan sebagai super administrator untuk proyek MaxCompute.

Batasan

Kondisi yang menghentikan tugas (perbaiki sebelum memulai)

Kondisi-kondisi berikut menyebabkan tugas migrasi gagal:

  • Server tempat database sumber dideploy harus memiliki bandwidth keluar yang mencukupi. Jika tidak, kecepatan migrasi data akan menurun.

  • Tabel yang akan dimigrasikan harus memiliki PRIMARY KEY atau kendala UNIK dengan semua bidang unik. Tanpa ini, tujuan mungkin berisi catatan duplikat.

  • Jika Anda memilih tabel sebagai objek migrasi dan perlu mengganti nama tabel atau kolom, satu tugas mendukung hingga 1.000 tabel. Tugas dengan lebih dari 1.000 tabel dalam mode ini akan mengembalikan error permintaan. Konfigurasikan beberapa tugas atau migrasikan pada tingkat database sebagai gantinya.

  • Untuk migrasi data inkremental, binary logging harus diaktifkan dan parameter loose_polar_log_bin harus diatur ke on. Jika binary logging tidak diaktifkan, Pemeriksaan Awal gagal dan tugas tidak dapat dimulai. Lihat Aktifkan binary logging dan Ubah parameter.

  • Jangan menjalankan pernyataan DDL untuk mengubah skema database atau tabel selama migrasi skema atau migrasi data penuh. Tugas migrasi akan gagal jika skema berubah di tengah proses.

  • Jangan gunakan alat seperti pt-online-schema-change untuk operasi DDL online pada objek yang sedang dimigrasikan. Tugas migrasi akan gagal.

Mengaktifkan binary logging pada klaster PolarDB for MySQL akan dikenai biaya penyimpanan untuk file log biner.

Risiko integritas data (tinjau sebelum memulai)

Kondisi-kondisi berikut dapat menyebabkan ketidakkonsistenan atau kehilangan data:

  • Log biner harus dipertahankan minimal selama 3 hari; pertahankan selama 7 hari untuk keamanan. Jika DTS tidak dapat membaca log biner, tugas akan gagal. Dalam kasus luar biasa, ketidakkonsistenan atau kehilangan data dapat terjadi. Mempertahankan log kurang dari durasi yang disyaratkan berarti Perjanjian Tingkat Layanan (SLA) untuk DTS mungkin tidak berlaku. Lihat Ubah periode retensi.

  • Jangan menulis data ke database sumber selama migrasi hanya penuh (migrasi skema + migrasi data penuh tanpa inkremental). Menulis ke sumber selama fase ini menyebabkan ketidakkonsistenan data. Untuk menulis ke sumber secara aman selama migrasi, sertakan migrasi data inkremental.

  • Jangan menulis data dari sumber lain ke proyek MaxCompute tujuan selama migrasi. Penulisan eksternal menyebabkan ketidakkonsistenan data.

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

  • DTS mencoba mengulang tugas yang gagal hingga 7 hari. Sebelum beralih beban kerja ke tujuan, hentikan atau lepaskan tugas yang gagal. Atau, cabut izin tulis dari akun DTS di tujuan. Jika tidak, data sumber akan menimpa data tujuan saat tugas yang gagal dilanjutkan kembali.

Batasan operasional

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

  • DTS tidak memigrasikan tabel eksternal Object Storage Service (OSS) dari klaster PolarDB for MySQL sumber.

  • DTS tidak memigrasikan kunci asing. Operasi cascade dan delete yang bergantung pada kunci asing tidak direplikasi ke tujuan.

  • Migrasikan data selama jam sepi. Migrasi data penuh menggunakan sumber daya baca dan tulis di sumber dan tujuan, yang meningkatkan beban pada kedua server database.

  • Setelah migrasi data penuh, ruang tabel tujuan lebih besar daripada sumber karena operasi INSERT konkuren menyebabkan fragmentasi tabel.

  • Jika instans DTS gagal, tim bantuan DTS mencoba pemulihan dalam waktu 8 jam. Pemulihan mungkin melibatkan restart instans atau penyesuaian parameter instans DTS (bukan parameter database). Untuk parameter yang mungkin diubah, lihat Ubah parameter instans.

Penagihan

Jenis migrasiBiaya konfigurasi tugasBiaya traffic internet
Schema migration dan full data migrationGratisGratis, kecuali jika Access Method diatur ke Public IP Address. Lihat Ikhtisar penagihan.
Incremental data migrationDikenai biaya. Lihat Ikhtisar penagihan.

Operasi SQL yang didukung untuk migrasi inkremental

Jenis operasiPernyataan SQL
DMLINSERT, UPDATE, DELETE
DDLADD COLUMN
Operasi ADD COLUMN yang mencakup kolom atribut tidak dapat dimigrasikan.

Izin akun database yang diperlukan

DatabaseIzin yang diperlukanCara memberikan
PolarDB for MySQLIzin baca pada objek yang akan dimigrasikanBuat dan kelola akun database dan Kelola password akun database

Buat tugas migrasi

Langkah 1: Buka halaman Data Migration

Gunakan Konsol DTS atau Konsol DMS.

DTS console

  1. Login ke DTS console.DTS console

  2. Di panel navigasi kiri, klik Data Migration.

  3. Di pojok kiri atas, pilih wilayah tempat instans migrasi akan berada.

DMS console

Catatan

Tata letak Konsol DMS bervariasi berdasarkan mode. Lihat Simple mode dan Sesuaikan tata letak dan gaya Konsol DMS.

  1. Login ke DMS console.DMS console

  2. Di bilah navigasi atas, arahkan pointer ke Data + AI > DTS (DTS) > Data Migration.

  3. Dari daftar drop-down di samping Data Migration Tasks, pilih wilayah tempat instans migrasi akan berada.

Langkah 2: Konfigurasikan database sumber dan tujuan

  1. Klik Create Task.

  2. Konfigurasikan parameter berikut.

Umum

ParameterDeskripsi
Task NameNama untuk tugas DTS. DTS menghasilkan nama default. Tentukan nama deskriptif agar mudah mengidentifikasi tugas. Nama tugas tidak perlu unik.

Database sumber

ParameterDeskripsi
Select Existing ConnectionJika database sumber sudah terdaftar di DTS, pilih dari daftar drop-down. DTS akan mengisi kolom lainnya secara otomatis. Jika tidak, konfigurasikan kolom di bawah. Di Konsol DMS, pilih dari Select a DMS database instance.
Database TypePilih PolarDB for MySQL.
Access MethodPilih Alibaba Cloud Instance.
Instance RegionWilayah tempat klaster PolarDB for MySQL sumber berada.
Replicate Data Across Alibaba Cloud AccountsPilih No saat melakukan migrasi dalam akun Alibaba Cloud yang sama.
PolarDB Cluster IDID klaster PolarDB for MySQL sumber.
Database AccountAkun database untuk klaster sumber. Lihat Izin akun database yang diperlukan.
Database PasswordPassword untuk akun database.
EncryptionApakah koneksi ke database sumber dienkripsi. Lihat Konfigurasikan enkripsi SSL.

Database tujuan

ParameterDeskripsi
Select Existing ConnectionJika proyek MaxCompute tujuan sudah terdaftar di DTS, pilih dari daftar drop-down. Jika tidak, konfigurasikan kolom di bawah.
Database TypePilih MaxCompute.
Access MethodPilih Alibaba Cloud Instance.
Instance RegionWilayah tempat proyek MaxCompute tujuan berada.
ProjectNama proyek MaxCompute tujuan.
AccessKey ID of Alibaba Cloud AccountID AccessKey dari pasangan Kunci Akses yang telah Anda siapkan di prasyarat.
AccessKey Secret of Alibaba Cloud AccountSecret AccessKey dari pasangan Kunci Akses.
  1. Klik Test Connectivity and Proceed.

Pastikan blok CIDR server DTS telah ditambahkan ke pengaturan keamanan database sumber dan tujuan. DTS dapat menambahkannya secara otomatis, atau Anda dapat menambahkannya secara manual. Lihat Tambahkan alamat IP server DTS ke daftar putih.
  1. Klik OK untuk memberikan izin DTS pada proyek MaxCompute. Lalu klik Test Connectivity and Proceed.

Langkah 3: Konfigurasikan objek migrasi

  1. Di halaman Configure Objects, atur parameter berikut.

Migration types

ParameterDeskripsi
Migration TypesPilih jenis migrasi berdasarkan kasus penggunaan Anda: <br>- Schema Migration + Full Data Migration: hanya memigrasikan data historis. Tugas akan selesai dan berhenti secara otomatis.<br>- Schema Migration + Full Data Migration + Incremental Data Migration: memigrasikan data historis dan mereplikasi perubahan yang sedang berlangsung secara real time. Tugas berjalan terus-menerus hingga Anda menghentikannya.
Jika Anda melewatkan Schema Migration, buat database dan tabel tujuan secara manual sebelum memulai tugas, dan aktifkan pemetaan nama objek di Selected Objects.
Jika Anda melewatkan Incremental Data Migration, jangan menulis ke database sumber selama migrasi untuk menghindari ketidakkonsistenan data.

Konfigurasi tabel

ParameterDeskripsi
Naming Rules of Additional ColumnsSetelah migrasi, DTS menambahkan kolom tambahan ke tabel tujuan. Jika nama kolom tambahan bertabrakan dengan kolom yang sudah ada, tugas akan gagal. Pilih New Rule atau Previous Rule berdasarkan pengaturan Anda. Periksa konflik nama sebelum memilih. Lihat Aturan penamaan untuk kolom tambahan.
Partition Definition of Incremental Data TablePilih nama partisi untuk tabel data inkremental. Lihat Partition.
Processing Mode of Conflicting TablesCara DTS menangani tabel di tujuan yang memiliki nama sama dengan tabel di sumber:<br>- Precheck and Report Errors: tugas gagal dalam Pemeriksaan Awal jika ditemukan konflik nama. Untuk menyelesaikan konflik tanpa mengganti nama tabel tujuan, gunakan pemetaan nama objek. Lihat Pemetaan nama objek.<br>- Ignore Errors and Proceed: melewati pemeriksaan konflik. Jika skema sumber dan tujuan cocok dan kunci utama bertabrakan, migrasi penuh melewati catatan yang bertabrakan (catatan tujuan dipertahankan), sedangkan migrasi inkremental akan menimpanya. Jika skema berbeda, hanya kolom tertentu yang dimigrasikan atau tugas gagal. Gunakan dengan hati-hati.
Capitalization of Object Names in Destination InstanceKebijakan kapitalisasi untuk nama database, tabel, dan kolom di tujuan. Default-nya adalah DTS default policy. Lihat Tentukan kapitalisasi nama objek di instans tujuan.

Pemilihan objek

ParameterDeskripsi
Source ObjectsPilih objek yang akan dimigrasikan. Klik ikon 向右小箭头 untuk memindahkannya ke Selected Objects. Tabel adalah satu-satunya jenis objek yang didukung untuk jalur migrasi ini.
Selected ObjectsUntuk mengganti nama satu objek di tujuan, klik kanan objek tersebut di Selected Objects. Lihat Pemetaan nama satu objek. Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit. Lihat Pemetaan nama beberapa objek sekaligus. Untuk memfilter baris dalam tabel, klik kanan tabel dan konfigurasikan kondisi filter. Lihat Tentukan kondisi filter.
Catatan

Mengganti nama objek dengan pemetaan nama objek dapat menyebabkan objek dependen gagal dimigrasikan.

  1. Klik Next: Advanced Settings.

Langkah 4: Konfigurasikan pengaturan lanjutan

ParameterDeskripsi
Dedicated Cluster for Task SchedulingSecara default, DTS menjadwalkan tugas ke kluster bersama. Untuk stabilitas lebih tinggi, beli kluster khusus. Lihat Apa itu kluster khusus DTS.
Retry Time for Failed ConnectionsDurasi DTS mencoba ulang saat database sumber atau tujuan tidak dapat dijangkau. Nilai valid: 10–1.440 menit. Default: 720 menit. Kami menyarankan Anda mengatur parameter ini ke nilai lebih dari 30. Jika DTS terhubung kembali dalam jendela percobaan ulang, tugas akan dilanjutkan. Jika tidak, tugas gagal.
Catatan

Saat beberapa tugas berbagi database sumber atau tujuan, waktu percobaan ulang yang paling baru diatur akan berlaku. DTS membebankan biaya instans selama percobaan ulang.

Retry Time for Other IssuesDurasi DTS mencoba ulang setelah kegagalan DDL atau DML. Nilai valid: 1–1.440 menit. Default: 10 menit. Kami menyarankan Anda mengatur parameter ini ke nilai lebih dari 10. Harus lebih kecil dari Retry Time for Failed Connections.
Enable Throttling for Full Data MigrationMembatasi beban baca dan tulis pada sumber dan tujuan selama migrasi data penuh. Konfigurasikan Queries per second (QPS) to the source database, RPS of Full Data Migration (baris per detik), dan Data migration speed for full migration (MB/s). Hanya tersedia saat Full Data Migration dipilih.
Enable Throttling for Incremental Data MigrationMembatasi beban selama migrasi data inkremental. Konfigurasikan RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s). Hanya tersedia saat Incremental Data Migration dipilih.
Whether to delete SQL operations on heartbeat tables of forward and reverse tasksMengontrol apakah DTS menulis operasi SQL ke tabel heartbeat di database sumber saat berjalan. Yesalert notification settings: tidak menulis ke tabel heartbeat (indikator latensi mungkin muncul di instans). No: menulis ke tabel heartbeat (mungkin memengaruhi backup fisik atau kloning sumber).
Environment TagTag opsional untuk mengidentifikasi instans DTS berdasarkan lingkungan (misalnya, produksi atau uji coba).
Configure ETLApakah akan mengaktifkan fitur extract, transform, and load (ETL). Yes: konfigurasikan pernyataan pemrosesan data di editor kode. Lihat Konfigurasikan ETL dalam tugas migrasi data atau sinkronisasi data. No: lewati konfigurasi ETL. Lihat Apa itu ETL?
Monitoring and AlertingApakah akan mengonfigurasi peringatan untuk tugas migrasi. Yes: atur ambang batas peringatan dan kontak notifikasi. Peringatan akan muncul jika tugas gagal atau latensi migrasi melebihi ambang batas. Lihat Konfigurasikan pemantauan dan peringatan saat membuat tugas DTS. No: lewati peringatan.

Langkah 5: Jalankan Pemeriksaan Awal

  1. Untuk melihat pratinjau parameter API sebelum menyimpan, arahkan kursor ke Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters.

  2. Klik Next: Save Task Settings and Precheck.

DTS menjalankan Pemeriksaan Awal sebelum tugas migrasi dapat dimulai. Tugas hanya akan dimulai setelah Pemeriksaan Awal berhasil.

  • Jika suatu item pemeriksaan gagal, klik View Details di sebelahnya, perbaiki masalahnya, lalu klik Precheck Again.

  • Jika peringatan muncul pada suatu item pemeriksaan dan item tersebut dapat diabaikan dengan aman, klik Confirm Alert Details, lalu klik Ignore di kotak dialog dan klik OK. Lalu klik Precheck Again. Mengabaikan peringatan dapat menyebabkan ketidakkonsistenan data.

Langkah 6: Beli instans dan mulai tugas

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

  2. Di halaman Purchase Instance, konfigurasikan parameter berikut.

ParameterDeskripsi
Resource GroupKelompok sumber daya untuk instans migrasi. Default-nya adalah kelompok sumber daya default. Lihat Apa itu Resource Management?
Instance ClassKelas kecepatan migrasi. Pilih berdasarkan kebutuhan throughput Anda. Lihat Kelas instans migrasi data.
  1. Baca dan terima Data Transmission Service (Pay-as-you-go) Service Terms dengan mencentang kotak centang.

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

Tugas muncul di halaman Data Migration.

  • Tugas tanpa migrasi inkremental akan berhenti otomatis saat migrasi penuh selesai. Statusnya menunjukkan Completed.

  • Tugas dengan migrasi inkremental berjalan terus-menerus. Statusnya menunjukkan Running. Hentikan tugas secara manual saat Anda siap melakukan cut over.

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.

DTS menulis perubahan inkremental dari sumber ke tabel _log di MaxCompute (misalnya, customer_log). Setiap baris dalam tabel data inkremental merepresentasikan satu event perubahan dan mencakup kolom data dari tabel sumber serta kolom metadata berikut.

FieldDeskripsi
record_idPengidentifikasi unik entri log inkremental. ID bertambah otomatis untuk setiap entri baru. Untuk operasi UPDATE, DTS menghasilkan dua entri (nilai sebelum dan sesudah update) dengan record_id yang sama.
operation_flagJenis perubahan: I (INSERT), D (DELETE), atau U (UPDATE).
utc_timestampTimestamp operasi dalam UTC, diambil dari log biner.
before_flagApakah baris berisi nilai sebelum update: Y atau N.
after_flagApakah baris berisi nilai setelah update: Y atau N.