All Products
Search
Document Center

Data Transmission Service:Migrasi data dari PolarDB-X 2.0 ke ApsaraDB for SelectDB

Last Updated:Apr 02, 2026

Gunakan Data Transmission Service (DTS) untuk memigrasikan data dari instans PolarDB-X 2.0 ke instans ApsaraDB for SelectDB.

Penting

Fitur ini berada dalam fase pengujian grayscale dan hanya tersedia untuk sebagian pengguna.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

Objek yang tidak didukung

Jenis objek berikut tidak dapat dimigrasikan:

  • Tabel yang namanya mengandung huruf kapital

  • INDEX, PARTITION, VIEW, PROCEDURE, FUNCTION, TRIGGER, dan kunci asing (FK)

  • Objek TABLEGROUP

  • Database atau tabel yang mengandung atribut Locality

  • Instans read-only Edisi Perusahaan PolarDB-X 2.0

Tabel yang akan dimigrasikan harus memiliki PRIMARY KEY atau kendala UNIQUE, dengan semua field bersifat unik. Tanpa kendala tersebut, database tujuan mungkin berisi catatan duplikat.

Jika Anda memilih tabel sebagai objek migrasi dan perlu mengganti nama tabel atau kolomnya di tujuan, satu tugas mendukung hingga 1.000 tabel. Untuk lebih dari 1.000 tabel, konfigurasikan beberapa tugas atau migrasikan seluruh database sekaligus.

Pembatasan selama migrasi

Jangan lakukan operasi berikut saat tugas migrasi sedang berjalan:

  • Pada instans sumber: Jalankan pernyataan DDL yang mengubah skema database atau tabel selama migrasi skema atau migrasi data penuh. Melakukan hal ini menyebabkan tugas gagal.

  • Pada instans tujuan:

    • Buat kluster dalam instans ApsaraDB for SelectDB. Jika hal ini menyebabkan kegagalan tugas, restart instans migrasi untuk melanjutkan.

    • Tambahkan node backend ke database ApsaraDB for SelectDB. Jika hal ini menyebabkan kegagalan tugas, restart instans migrasi untuk melanjutkan.

    • Izinkan sumber data lain menulis ke tujuan saat DTS sedang berjalan. Hal ini dapat menyebabkan ketidakkonsistenan data atau kegagalan tugas.

  • Pembatasan DDL: Jangan jalankan pernyataan DDL yang memodifikasi beberapa kolom sekaligus atau memodifikasi tabel yang sama secara berturut-turut.

Persyaratan khusus SelectDB

  • Nama database dan tabel: Harus diawali dengan huruf. Gunakan fitur pemetaan nama objek untuk mengganti nama objek apa pun yang tidak memenuhi persyaratan ini.

  • Nama karakter Tionghoa: Objek dengan nama berisi karakter Tionghoa harus diganti namanya menggunakan pemetaan nama objek (misalnya, dari Tionghoa ke Inggris). Jika tidak, tugas mungkin gagal.

  • Panjang VARCHAR: Di PolarDB-X 2.0, VARCHAR(M) menentukan panjang karakter. Di SelectDB, VARCHAR(N) menentukan panjang byte. Jika Anda melewatkan migrasi skema, atur panjang field VARCHAR SelectDB menjadi empat kali panjang field PolarDB-X 2.0 yang sesuai.

  • Mesin tabel tujuan: Data hanya dapat dimigrasikan ke tabel mesin Unique atau tabel mesin Duplicate. Lihat Tabel mesin Unique dan Tabel mesin Duplicate di bawah.

Tabel mesin Unique

Semua kunci unik dalam tabel mesin Unique tujuan harus ada di tabel sumber dan termasuk dalam objek yang akan dimigrasikan. Jika tidak, ketidakkonsistenan data mungkin terjadi.

Tabel mesin Duplicate

Ketika tabel tujuan adalah tabel mesin Duplicate, DTS mengonversi pernyataan UPDATE dan DELETE menjadi pernyataan INSERT. Catatan duplikat mungkin muncul dalam skenario berikut:

  • Instans migrasi diulang atau dimulai ulang.

  • Data yang sama dimodifikasi oleh operasi DML dua kali atau lebih setelah instans migrasi dimulai.

Untuk menghapus duplikat catatan, gunakan kolom tambahan yang dibuat secara otomatis oleh DTS: _is_deleted, _version, dan _record_id. Lihat Kolom tambahan.

Catatan lainnya

  • Kinerja migrasi data penuh: Migrasi data penuh menggunakan resource baca dan tulis pada kedua instans, yang meningkatkan beban database. Jalankan migrasi selama jam sepi, ketika beban CPU pada kedua instans di bawah 30%.

  • Fragmentasi storage: Karena migrasi data penuh menggunakan operasi INSERT konkuren, tabel tujuan menjadi terfragmentasi. Setelah migrasi data penuh, tabel tujuan menempati ruang penyimpanan lebih besar daripada tabel sumber.

  • Penulisan heartbeat: DTS secara berkala menjalankan CREATE DATABASE IF NOT EXISTS \`test\` pada instans sumber untuk menulis data heartbeat dan memajukan posisi log biner. Jika Anda mengatur Whether to delete SQL operations on heartbeat tables of forward and reverse tasks ke Yes, atau jika akun sumber tidak memiliki izin untuk membuat database, dan tidak ada operasi DML yang dilakukan pada sumber dalam periode yang lama, informasi latensi mungkin tidak akurat. Untuk memperbarui data latensi, lakukan operasi DML pada instans sumber.

  • Pemulihan tugas: Jika tugas DTS gagal, tim dukungan DTS mencoba memulihkannya dalam waktu 8 jam. Selama pemulihan, tugas mungkin dimulai ulang dan parameter tugas tertentu mungkin disesuaikan. Parameter database tidak dimodifikasi.

Penagihan

Jenis migrasi Biaya konfigurasi tugas Biaya transfer data
Migrasi skema dan migrasi data penuh Gratis Gratis ketika Metode Akses adalah Instans Alibaba Cloud. Biaya berlaku ketika Metode Akses adalah Alamat IP Publik. Lihat Ikhtisar penagihan.
Migrasi data inkremental Dikenai biaya. Lihat Ikhtisar penagihan.

Operasi SQL yang didukung dalam migrasi inkremental

Jenis operasi Pernyataan SQL
DML INSERT, UPDATE, DELETE
DDL ADD COLUMN; DROP COLUMN; DROP TABLE; TRUNCATE TABLE; RENAME TABLE
Penting

Operasi RENAME TABLE dapat menyebabkan ketidakkonsistenan data. Misalnya, jika Anda memilih sebuah tabel sebagai objek migrasi dan mengganti namanya selama migrasi, data tabel tersebut tidak dimigrasikan. Untuk menghindari hal ini, pilih database yang berisi tabel tersebut sebagai objek migrasi, dan pastikan nama database sebelum dan sesudah penggantian nama termasuk dalam objek yang akan dimigrasikan.

Izin yang diperlukan

DatabaseMigrasi skemaMigrasi penuhMigrasi inkremental
PolarDB-X 2.0 sumberSELECTSELECTREPLICATION SLAVE, REPLICATION CLIENT, dan SELECT pada objek yang akan dimigrasikan
ApsaraDB for SelectDB tujuanUsage_priv (akses kluster), Select_priv, Load_priv, Alter_priv, Create_priv, Drop_priv

Untuk petunjuk membuat akun dan memberikan izin:

Buat tugas migrasi

Langkah 1: Buka halaman Migrasi Data

Gunakan salah satu metode berikut:

Konsol DTS

  1. Masuk ke Konsol DTS.

  2. Di panel navigasi kiri, klik Data Migration.

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

Konsol DMS

Langkah aktual dapat berbeda tergantung pada mode dan tata letak konsol DMS. 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 > DTS (DTS) > Data Migration.

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

Langkah 2: Konfigurasi database sumber dan tujuan

  1. Klik Create Task.

  2. Konfigurasikan parameter yang dijelaskan dalam tabel berikut.

    KategoriParameterDeskripsi
    N/ATask NameNama untuk tugas DTS. DTS menghasilkan nama default. Tentukan nama informatif agar tugas mudah diidentifikasi. Nama tidak perlu unik.
    Source DatabaseSelect Existing ConnectionJika instans sumber terdaftar di DTS, pilih dari daftar drop-down. DTS akan mengisi otomatis parameter lainnya. Jika tidak, konfigurasikan parameter secara manual. Di konsol DMS, pilih instans dari Select a DMS database instance.
    Database TypePilih PolarDB-X 2.0.
    Access MethodPilih Alibaba Cloud Instance.
    Instance RegionPilih wilayah tempat instans PolarDB-X 2.0 sumber berada.
    Replicate Data Across Alibaba Cloud AccountsPilih No jika instans sumber dan tujuan berada dalam Akun Alibaba Cloud yang sama.
    Instance IDPilih ID instans PolarDB-X 2.0 sumber.
    Database AccountMasukkan akun database. Lihat Izin yang diperlukan untuk izin minimum yang dibutuhkan.
    Database PasswordMasukkan password untuk akun database.
    Destination DatabaseSelect Existing ConnectionJika instans tujuan terdaftar di DTS, pilih dari daftar drop-down. DTS akan mengisi otomatis parameter lainnya. Jika tidak, konfigurasikan parameter secara manual. Di konsol DMS, pilih instans dari Select a DMS database instance.
    Database TypePilih SelectDB.
    Access MethodPilih Alibaba Cloud Instance.
    Instance RegionPilih wilayah tempat instans SelectDB tujuan berada.
    Replicate Data Across Alibaba Cloud AccountsPilih No jika instans sumber dan tujuan berada dalam Akun Alibaba Cloud yang sama.
    Instance IDPilih ID instans SelectDB tujuan.
    Database AccountMasukkan akun database. Lihat Izin yang diperlukan untuk izin minimum yang dibutuhkan.
    Database PasswordMasukkan password untuk akun database.
  3. Klik Test Connectivity and Proceed.

Langkah 3: Konfigurasi objek migrasi

  1. Di halaman Configure Objects, atur parameter berikut.

    ParameterDeskripsi
    Migration TypesPilih jenis migrasi sesuai kebutuhan Anda: <br>- Schema Migration + Full Data Migration: Hanya memigrasikan data yang sudah ada. Jangan menulis data baru ke sumber selama migrasi. <br>- Schema Migration + Full Data Migration + Incremental Data Migration: Memigrasikan data yang sudah ada dan menjaga sinkronisasi tujuan dengan perubahan yang sedang berlangsung. Gunakan kombinasi ini untuk meminimalkan gangguan layanan. <br><br>Jika Anda melewatkan Schema Migration, buat tabel mesin Unique atau Duplicate dengan struktur yang benar di SelectDB sebelum memulai tugas. Untuk detailnya, lihat Pemetaan tipe data, Kolom tambahan, dan Model data.
    Processing Mode of Conflicting Tables- Precheck and Report Errors: Pemeriksaan awal gagal jika tujuan berisi tabel dengan nama yang sama seperti sumber. Untuk menyelesaikan konflik, gunakan pemetaan nama objek untuk mengganti nama tabel yang dimigrasikan. Lihat Pemetaan nama objek. <br>- Ignore Errors and Proceed: Melewatkan pemeriksaan awal untuk nama tabel yang identik.
    Peringatan

    Hal ini dapat menyebabkan ketidakkonsistenan data. Selama migrasi penuh, DTS melewatkan catatan yang bentrok dan mempertahankan data tujuan yang sudah ada. Selama migrasi inkremental, DTS menimpa catatan yang bentrok. Jika skema sumber dan tujuan berbeda, hanya kolom parsial yang dimigrasikan atau tugas mungkin gagal.

    Capitalization of Object Names in Destination InstanceKebijakan kapitalisasi untuk nama database, tabel, dan kolom di tujuan. Default ke Kebijakan default DTS. Lihat Tentukan kapitalisasi nama objek di instans tujuan.
    Source ObjectsPilih database atau tabel yang akan dimigrasikan, lalu klik 向右小箭头 untuk memindahkannya ke Selected Objects.
    Selected Objects- Untuk mengganti nama tabel di tujuan, klik kanan tabel tersebut dan pilih opsi pemetaan nama objek. Lihat Pemetaan nama objek. <br>- Untuk memfilter baris, klik kanan tabel dan tentukan kondisi WHERE. Lihat Tentukan kondisi filter. <br>- Untuk memilih operasi SQL tertentu untuk database atau tabel, klik kanan objek dan pilih operasi yang akan disertakan. <br>- Jika Schema Migration dipilih, Anda hanya dapat memilih tabel (bukan database) sebagai objek migrasi, dan harus mengatur parameter bucket_count: klik kanan tabel, aktifkan Enable Parameter Settings, atur Value ke bilangan bulat positif (default: auto), lalu klik OK. <br><br>
    Catatan

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

  2. Klik Next: Advanced Settings dan konfigurasikan parameter berikut.

    ParameterDeskripsi
    Dedicated Cluster for Task SchedulingSecara default, DTS menjadwalkan tugas ke kluster bersama. Untuk meningkatkan stabilitas tugas, beli kluster khusus. Lihat Apa itu kluster khusus DTS.
    Retry Time for Failed ConnectionsBerapa lama DTS mencoba koneksi yang gagal setelah tugas dimulai. Rentang valid: 10–1.440 menit. Default: 720 menit. Atur lebih dari 30 menit. Jika DTS terhubung kembali dalam periode ini, tugas dilanjutkan. Jika tidak, tugas gagal.
    Catatan

    Saat beberapa tugas berbagi sumber atau tujuan yang sama, waktu coba ulang yang paling baru diatur akan berlaku. DTS menagih instans selama masa percobaan ulang.

    Retry Time for Other IssuesBerapa lama DTS mencoba ulang operasi DDL atau DML yang gagal. Rentang valid: 1–1.440 menit. Default: 10 menit. Atur lebih dari 10 menit. Harus kurang dari Retry Time for Failed Connections.
    Enable Throttling for Full Data MigrationMembatasi throughput baca dan tulis selama migrasi penuh untuk mengurangi beban pada kedua instans. Konfigurasikan 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 Migration dipilih.
    Enable Throttling for Incremental Data MigrationMembatasi throughput selama migrasi inkremental. Konfigurasikan RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s). Tersedia hanya jika Incremental Data Migration dipilih.
    Whether to delete SQL operations on heartbeat tables of forward and reverse tasksMengontrol apakah DTS menulis operasi SQL heartbeat ke instans sumber. <br>- Yes: DTS tidak menulis operasi heartbeat. Informasi latensi mungkin tidak akurat. <br>- No: DTS menulis operasi heartbeat. Backup fisik dan kloning sumber mungkin terpengaruh.
    Environment TagTag opsional untuk mengidentifikasi instans.
    Configure ETLApakah akan mengaktifkan fitur ekstrak, transformasi, dan muat (ETL). Lihat Apa itu ETL? dan Konfigurasi ETL dalam tugas migrasi data atau sinkronisasi data.
    Monitoring and AlertingApakah akan menerima notifikasi saat tugas gagal atau latensi migrasi melebihi ambang batas. Jika Yes, konfigurasikan ambang batas peringatan dan pengaturan notifikasi. Lihat Konfigurasi pemantauan dan peringatan saat membuat tugas DTS.
  3. (Opsional) Klik Next: Configure Database and Table Fields. Untuk setiap tabel yang akan dimigrasikan, tentukan Primary Key Column, Distribution Key, dan Engine.

    - Langkah ini tersedia hanya jika Schema Migration dipilih. Atur Definition Status ke All untuk melihat semua tabel. - Primary Key Column mendukung beberapa kolom. Satu atau beberapa kolom kunci primer juga dapat dipilih sebagai Distribution Key. - Jika tabel tidak memiliki kunci primer atau kendala UNIQUE, pilih duplicate untuk Engine. Jika tidak, tugas mungkin gagal atau terjadi kehilangan data.

Langkah 4: Jalankan pemeriksaan awal

Klik Next: Save Task Settings and Precheck.

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

Tugas harus lulus pemeriksaan awal sebelum dapat dimulai.
Jika item pemeriksaan awal gagal, klik View Details di sebelah item yang gagal, selesaikan masalahnya, lalu klik Precheck Again.
Jika peringatan dipicu: jika tidak dapat diabaikan, selesaikan dan periksa ulang. Jika dapat diabaikan dengan aman, klik Confirm Alert Details, klik Ignore di kotak dialog, konfirmasi, lalu klik Precheck Again. Mengabaikan peringatan dapat menyebabkan ketidakkonsistenan data.

Langkah 5: Beli dan mulai instans

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

  2. Di halaman Purchase Instance, konfigurasikan instans.

    BagianParameterDeskripsi
    New Instance ClassResource GroupKelompok sumber daya untuk instans migrasi. Default ke kelompok sumber daya default. Lihat Apa itu Pengelolaan Sumber Daya?
    Instance ClassKelas instans menentukan kecepatan migrasi. Pilih kelas sesuai kebutuhan Anda. Lihat Kelas instans migrasi data.
  3. Pilih kotak centang Data Transmission Service (Pay-as-you-go) Service Terms.

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

Tugas muncul di halaman Data Migration. Lacak perkembangannya di sana.

Jika tugas tidak mencakup migrasi data inkremental, tugas akan berhenti secara otomatis saat selesai. Status menampilkan Completed.
Jika tugas mencakup migrasi data inkremental, tugas berjalan terus-menerus. Status menampilkan Running. Tugas migrasi data inkremental tidak pernah berhenti atau selesai secara otomatis.

Pemetaan tipe data

KategoriTipe PolarDB-X 2.0Tipe SelectDB
NumerikTINYINTTINYINT
TINYINT UNSIGNEDSMALLINT
SMALLINTSMALLINT
SMALLINT UNSIGNEDINT
MEDIUMINTINT
MEDIUMINT UNSIGNEDBIGINT
INTINT
INT UNSIGNEDBIGINT
BIGINTBIGINT
BIGINT UNSIGNEDLARGEINT
BIT(M)INT
DecimalDecimal (
Catatan

zerofill tidak didukung)

NumericDecimal
FloatFloat
DoubleDOUBLE
BOOL / BOOLEANBOOLEAN
Tanggal dan waktuDATEDATEV2
DATETIME[(fsp)]DATETIMEV2
Timestamp[(fsp)]DATETIMEV2
Time[(fsp)]VARCHAR
YEAR[(4)]INT
StringCHAR / VARCHARVARCHAR
BINARY / VARBINARYSTRING
TINYTEXT / TEXT / MEDIUMTEXT / LONGTEXTSTRING
TINYBLOB / BLOB / MEDIUMBOLB / LONGBLOBSTRING
ENUMSTRING
SETSTRING
JSONSTRING
Penting

Untuk menghindari kehilangan data, CHAR dan VARCHAR(n) dikonversi menjadi VARCHAR(4*n) di SelectDB.

  • Jika panjang tidak ditentukan, default SelectDB VARCHAR(65533) digunakan.

  • Jika panjang melebihi 65533, data dikonversi menjadi STRING.

Kolom tambahan

DTS secara otomatis membuat kolom berikut dalam tabel mesin Duplicate (atau Anda dapat menambahkannya secara manual):

KolomTipeNilai defaultDeskripsi
_is_deletedInt0Menunjukkan apakah catatan tersebut dihapus. Diatur ke 0 untuk operasi INSERT dan UPDATE, 1 untuk operasi DELETE.
_versionBigint0Diatur ke 0 selama migrasi data penuh. Selama migrasi inkremental, berisi timestamp (dalam detik) dari file log biner sumber.
_record_idBigint0Diatur ke 0 selama migrasi data penuh. Selama migrasi inkremental, berisi ID unik entri log inkremental. ID ini bertambah otomatis untuk setiap entri log baru.