All Products
Search
Document Center

Data Transmission Service:Migrasi data dari kluster PolarDB for MySQL ke kluster ApsaraDB for ClickHouse

Last Updated:Sep 21, 2026

Data Transmission Service (DTS) memungkinkan Anda melakukan migrasi data dari kluster PolarDB for MySQL ke kluster ApsaraDB for ClickHouse, sehingga mendukung analitik terpusat atas data operasional Anda.

Langkah-langkah minimum untuk menyelesaikan migrasi ini:

  1. Penuhi prasyarat (versi kluster ClickHouse dan pengaktifan binary logging jika diperlukan).

  2. Berikan izin yang diperlukan pada database sumber dan tujuan.

  3. Buat dan konfigurasikan tugas migrasi DTS.

  4. Jalankan pemeriksaan awal, beli instans, dan mulai migrasi.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • Kluster ApsaraDB for ClickHouse yang menjalankan versi 20.8 atau lebih baru. Lihat Buat kluster.

  • Kluster ClickHouse dengan kapasitas penyimpanan lebih besar daripada kapasitas yang digunakan oleh kluster PolarDB for MySQL sumber.

  • Untuk migrasi data inkremental: binary logging harus diaktifkan pada kluster sumber, dengan parameter loose_polar_log_bin diatur ke on. Lihat Aktifkan binary logging dan Modifikasi parameter.

Pengaktifan binary logging pada kluster PolarDB for MySQL akan dikenakan biaya penyimpanan untuk file log biner. Atur periode retensi log biner menjadi minimal 3 hari (disarankan 7 hari) untuk mencegah DTS kehilangan akses ke log tersebut. Lihat Modifikasi periode retensi.

Penagihan

Jenis migrasi

Biaya penyiapan koneksi

Biaya transfer data

Migrasi skema + migrasi data penuh

Gratis

Gratis

Migrasi data inkremental

Dikenakan biaya

Lihat Ikhtisar penagihan

Izin yang diperlukan

Berikan izin berikut sebelum mengonfigurasi tugas migrasi.

Database

Izin yang diperlukan

Cara memberikan

Kluster PolarDB for MySQL sumber

Izin baca pada objek migrasi

Buat dan kelola akun database dan Kelola password akun database

Kluster ApsaraDB for ClickHouse tujuan (v22.8 atau lebih baru)

Izin baca dan tulis — akun istimewa memenuhi persyaratan ini

Manajemen akun untuk kluster Edisi Kompatibel Komunitas

Kluster ApsaraDB for ClickHouse tujuan (v21.8)

Izin Baca, Tulis, dan Setel Izin; serta Aktifkan DDL

Sama seperti di atas

Batasan

Batasan database sumber

  • Server database sumber harus memiliki bandwidth outbound yang mencukupi; bandwidth rendah akan mengurangi kecepatan migrasi.

  • Satu tugas migrasi mendukung maksimal 1.000 tabel saat melakukan migrasi tingkat tabel dengan pemetaan nama objek. Jika melebihi batas ini, bagi tabel ke beberapa tugas atau lakukan migrasi tingkat database.

  • Selama migrasi skema dan migrasi data penuh, jangan jalankan operasi DDL pada database sumber — hal ini dapat menyebabkan tugas migrasi gagal.

Selama migrasi data penuh, DTS melakukan kueri ke database sumber dan dapat membuat kunci metadata yang secara sementara memblokir operasi DDL.
  • Jika hanya menjalankan migrasi data penuh (tanpa inkremental), jangan menulis data baru ke database sumber selama migrasi, karena akan menyebabkan ketidakkonsistenan data.

Batasan lainnya

  • Node read-only dari kluster PolarDB for MySQL sumber tidak dapat dimigrasikan.

  • Tabel eksternal Object Storage Service (OSS) tidak dimigrasikan.

  • Jenis objek berikut tidak didukung: INDEX, PARTITION, VIEW, PROCEDURE, FUNCTION, TRIGGER, dan FOREIGN KEY (FK).

  • Alih bencana primary/standby tidak didukung selama migrasi data penuh. Jika alih bencana terjadi, konfigurasi ulang tugas migrasi.

  • Operasi RENAME TABLE tidak dapat dimigrasikan.

  • Jumlah maksimum database yang dapat dimigrasikan adalah 256 (batasan ApsaraDB for ClickHouse).

  • Nama database, tabel, dan kolom harus mematuhi Konvensi penamaan ApsaraDB for ClickHouse.

  • Partition Key tidak boleh merupakan bidang nullable. Partition key hanya mendukung tipe data BIGINT, INT, TIMESTAMP, DATETIME, dan DATE.

  • Data bertipe waktu di ApsaraDB for ClickHouse memiliki batasan rentang tertentu. Lihat Rentang tipe data waktu untuk detailnya.

  • Saat migrasi skema diaktifkan, DTS secara otomatis menambahkan bidang _sign, _is_deleted, dan _version ke tabel tujuan. Jika Anda melewati migrasi skema, buat tabel tujuan secara manual dengan bidang-bidang tersebut. Lihat Persyaratan tabel tujuan.

  • Selama migrasi DTS, jangan menulis data dari sumber lain ke database tujuan — hal ini menyebabkan ketidakkonsistenan data.

  • Jika instans DTS gagal, tim DTS berusaha memulihkannya dalam waktu 8 jam. Operasi pemulihan dapat mencakup restart instans dan penyesuaian parameter instans DTS (parameter database tidak pernah dimodifikasi).

  • Sebelum migrasi, evaluasi performa kedua database dan jalankan migrasi selama jam sepi untuk mengurangi beban.

  • Jika Anda memigrasikan tabel tertentu (bukan seluruh database), jangan gunakan pt-online-schema-change untuk perubahan DDL online pada tabel tersebut — hal ini menyebabkan kegagalan migrasi. Gunakan Data Management (DMS) sebagai gantinya. Lihat Ubah skema tanpa mengunci tabel.

  • Migrasi data bertipe VECTOR tidak didukung.

Batasan DDL Online

Alat atau mode

Perilaku

DMS atau gh-ost (perubahan DDL online di sumber)

DTS memigrasikan pernyataan DDL asli ke tujuan tanpa memigrasikan data tabel temporary, yang dapat menyebabkan penguncian tabel di tujuan.

pt-online-schema-change

Tidak didukung. Data dapat hilang di tujuan atau instans migrasi dapat gagal.

Mode DDL online berbasis tabel temporary (termasuk penggabungan multi-tabel)

Data dapat hilang di tujuan atau instans migrasi dapat gagal.

Sintaks DDL MySQL non-standar di sumber

Migrasi dapat gagal atau data dapat hilang.

Operasi SQL yang didukung untuk migrasi inkremental

Jenis operasi

Pernyataan SQL yang didukung

Pernyataan SQL yang tidak didukung

DML

INSERT, UPDATE, DELETE

—

DDL

CREATE TABLE, TRUNCATE TABLE, DROP TABLE, ADD COLUMN, MODIFY COLUMN, DROP COLUMN

RENAME TABLE; semua DDL terkait INDEX, PARTITION, VIEW, PROCEDURE, FUNCTION, TRIGGER, dan FOREIGN KEY

Pemetaan tipe data

PolarDB for MySQL dan ApsaraDB for ClickHouse mendukung tipe data yang berbeda, sehingga pemetaan satu-ke-satu tidak selalu memungkinkan. Selama migrasi skema, DTS memetakan tipe data sumber ke tipe yang paling mendekati di ClickHouse. Lihat Pemetaan tipe data antar database heterogen untuk tabel pemetaan lengkap.

Buat tugas migrasi

Langkah 1: Buka halaman Migrasi Data

Gunakan salah satu konsol berikut.

Konsol DTS

  1. Login ke Konsol DTS.

  2. Di panel navigasi kiri, klik Data Migration.

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

Konsol DMS

Langkah-langkah tepatnya dapat berbeda tergantung pada mode dan tata letak konsol DMS Anda. Lihat Mode simple dan Sesuaikan tata letak dan gaya konsol DMS.
  1. Login ke Konsol DMS.

  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: Konfigurasi database sumber dan tujuan

Klik Create Task, lalu isi parameter berikut.

Kategori

Parameter

Deskripsi

—

Task Name

Nama untuk tugas DTS. DTS menghasilkan nama secara otomatis. Tentukan nama deskriptif agar tugas mudah diidentifikasi. Nama tidak perlu unik.

Source Database

Select Existing Connection

Pilih instans database terdaftar dari daftar drop-down — DTS akan mengisi parameter lainnya secara otomatis. Jika instans belum terdaftar, isi parameter secara manual. Di konsol DMS, gunakan daftar drop-down Select a DMS database instance.

Database Type

Pilih PolarDB for MySQL.

Access Method

Pilih Alibaba Cloud Instance.

Instance Region

Pilih wilayah tempat kluster PolarDB for MySQL sumber berada.

Replicate Data Across Alibaba Cloud Accounts

Pilih No untuk migrasi dalam akun yang sama.

PolarDB Cluster ID

Pilih ID kluster PolarDB for MySQL sumber.

Database Account

Masukkan akun database. Lihat Izin yang diperlukan.

Database Password

Masukkan password untuk akun database.

Encryption

Pilih metode enkripsi sesuai kebutuhan. Untuk enkripsi Secure Sockets Layer (SSL), lihat Atur enkripsi SSL.

Destination Database

Select Existing Connection

Sama seperti sumber — pilih instans terdaftar atau isi parameter secara manual.

Database Type

Pilih ClickHouse.

Access Method

Pilih Alibaba Cloud Instance.

Instance Region

Pilih wilayah tempat kluster ApsaraDB for ClickHouse tujuan berada.

Replicate Data Across Alibaba Cloud Accounts

Pilih No untuk migrasi dalam akun yang sama.

Cluster Type

Pilih tipe kluster ApsaraDB for ClickHouse.

Cluster ID

Pilih ID kluster ApsaraDB for ClickHouse tujuan.

Database Account

Masukkan akun database. Lihat Izin yang diperlukan.

Database Password

Masukkan password untuk akun database.

Klik Test Connectivity and Proceed.

Pastikan Blok CIDR server DTS telah ditambahkan ke pengaturan keamanan (daftar putih) kedua database. Lihat Tambahkan alamat IP server DTS ke daftar putih.

Langkah 3: Konfigurasi objek yang akan dimigrasikan

Di halaman Configure Objects, atur parameter berikut.

Parameter

Deskripsi

Migration Types

Pilih jenis migrasi sesuai tujuan Anda: <br>• Schema Migration + Full Data Migration: salinan data satu kali, tanpa replikasi berkelanjutan. <br>• Schema Migration + Full Data Migration + Incremental Data Migration: replikasi berkelanjutan yang menjaga sinkronisasi tujuan selama sumber tetap aktif. <br><br>

Catatan

Jika Anda melewatkan Schema Migration, buat tabel tujuan secara manual sebelum memulai. Jika Anda melewatkan Incremental Data Migration, hindari menulis ke database sumber selama migrasi.

Processing Mode of Conflicting Tables

Precheck and Report Errors (default): pemeriksaan awal gagal jika tabel tujuan memiliki nama yang sama dengan tabel sumber. Gunakan pemetaan nama objek untuk mengganti nama tabel jika diperlukan. <br><br>Ignore Errors and Proceed: lewati pemeriksaan. Selama migrasi data penuh, catatan yang bentrok di tujuan dipertahankan; selama migrasi inkremental, catatan tersebut ditimpa. Jika skema berbeda, hanya kolom yang sesuai yang dimigrasikan. Gunakan dengan hati-hati.

Capitalization of Object Names in Destination Instance

Mengatur kapitalisasi nama database, tabel, dan kolom di tujuan. Default adalah Kebijakan default DTS. Lihat Tentukan kapitalisasi nama objek di instans tujuan.

Source Objects

Pilih database atau tabel dari bagian Source Objects, lalu klik ikon panah untuk menambahkannya ke Selected Objects.

Selected Objects

Klik kanan objek untuk mengganti namanya. Klik Batch Edit untuk mengganti nama beberapa objek sekaligus. Klik kanan tabel untuk mengatur kondisi filter data. Lihat Pemetaan nama objek dan Atur kondisi filter

Untuk memilih operasi SQL untuk tabel, klik kanan objek yang sesuai di kotak Selected Objects dan pilih operasi yang diinginkan dari kotak dialog yang muncul. Untuk daftar operasi yang didukung, lihat Operasi SQL yang dapat dimigrasikan secara inkremental.

.

Langkah 4: Konfigurasi pengaturan lanjutan

Klik Next: Advanced Settings dan konfigurasikan hal berikut.

Parameter

Deskripsi

Dedicated Cluster for Task Scheduling

Secara default, DTS menjadwalkan tugas ke kluster bersama. Beli kluster khusus untuk meningkatkan stabilitas. Lihat Apa itu kluster khusus DTS.

Time zone of destination database

Zona waktu untuk data tanggal dan waktu (seperti DateTime) yang ditulis ke kluster ClickHouse tujuan.

Retry Time for Failed Connections

Berapa lama DTS mencoba kembali koneksi yang gagal sebelum tugas dianggap gagal. Rentang: 10–1.440 menit. Default: 720 menit. Atur ke nilai lebih dari 30 menit. <br><br>

Catatan

Jika beberapa tugas menggunakan database sumber atau tujuan yang sama, nilai yang paling baru diatur akan berlaku. DTS mengenakan biaya untuk instans selama masa percobaan ulang.

Retry Time for Other Issues

Berapa lama DTS mencoba kembali operasi DDL atau DML yang gagal sebelum tugas dianggap gagal. Rentang: 1–1.440 menit. Default: 10 menit. Atur ke nilai lebih dari 10 menit. Harus kurang dari Retry Time for Failed Connections.

Enable Throttling for Full Data Migration

Membatasi beban baca/tulis pada sumber dan tujuan selama migrasi data penuh. Konfigurasikan Queries per second (QPS) to the source database, rows per second (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 Migration

Membatasi beban selama migrasi data 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 tasks

Mengatur apakah DTS menulis operasi SQL tabel heartbeat ke sumber selama instans berjalan. Yes: penulisan heartbeat ditekan, tetapi indikator latensi mungkin ditampilkan. No: penulisan heartbeat diaktifkan, yang dapat memengaruhi backup fisik dan kloning database sumber.

Environment Tag

Tag opsional untuk mengidentifikasi lingkungan (misalnya, produksi atau uji coba).

Configure ETL

Mengaktifkan fitur ekstrak, transformasi, dan muat (ETL). Yes: masukkan pernyataan pemrosesan data di editor kode. Lihat Konfigurasi ETL dalam tugas migrasi data atau sinkronisasi data. No: lewati konfigurasi ETL.

Monitoring and Alerting

Mengonfigurasi peringatan untuk kegagalan tugas atau latensi yang melebihi ambang batas. Yes: atur ambang batas peringatan dan kontak notifikasi. Lihat Konfigurasi pemantauan dan peringatan. No: tanpa peringatan.

Langkah 5: Konfigurasi bidang tabel untuk ClickHouse

Klik Next: Configure Database and Table Fields dan konfigurasikan Type, Primary Key Column, Sort Key, Distribution Key, dan Partition Key untuk setiap tabel yang dimigrasikan.

DTS menyediakan konfigurasi default. Untuk meninjau atau memodifikasinya, atur Definition Status ke All.

Aturan utama:

  • Primary Key Column dan Sort Key mendukung kunci komposit — pilih beberapa bidang dari daftar drop-down.

  • Pilih satu atau beberapa kolom dari Primary Key Column untuk dijadikan Partition Key.

  • Distribution Key hanya mendukung satu bidang.

  • Biarkan Partition Key kosong jika tidak diperlukan, tetapi jangan pilih bidang nullable — hal ini menyebabkan tugas migrasi gagal.

  • Partition key hanya mendukung BIGINT, INT, TIMESTAMP, DATETIME, dan DATE. Lihat Logika perhitungan partition key.

Untuk informasi lebih lanjut tentang primary key, sort key, dan partition key, lihat CREATE TABLE.

Langkah 6: Jalankan pemeriksaan awal dan mulai migrasi

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

  2. DTS menjalankan pemeriksaan awal sebelum memulai migrasi. Jika pemeriksaan awal gagal:

    • Klik View Details di samping setiap item yang gagal, perbaiki masalahnya, lalu klik Precheck Again.

    • Jika suatu item menampilkan peringatan (bukan kegagalan) dan Anda dapat menerima risikonya, klik Confirm Alert Details > Ignore > OK, lalu klik Precheck Again.

    Penting

    Mengabaikan peringatan pemeriksaan awal dapat menyebabkan ketidakkonsistenan data.

Langkah 7: Beli instans dan mulai migrasi

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

  2. Di halaman Purchase Instance, konfigurasikan parameter berikut.

    Bagian

    Parameter

    Deskripsi

    New Instance Class

    Resource Group

    Kelompok sumber daya untuk instans migrasi. Default: default resource group. Lihat Apa itu Resource Management?

    Instance Class

    Kelas instans menentukan kecepatan migrasi. Lihat Kelas instans untuk instans migrasi data.

  3. Baca dan terima Data Transmission Service (Pay-as-you-go) Service Terms, lalu klik Buy and Start > OK.

Lihat progres migrasi di halaman Data Migration.

Jika tugas tidak mencakup migrasi data inkremental, tugas akan berhenti secara otomatis setelah selesai. Kolom Status menunjukkan Completed.
Jika tugas mencakup migrasi data inkremental, tugas berjalan terus-menerus dan tidak pernah berhenti secara otomatis. Kolom Status menunjukkan Running.

Kueri data yang dimigrasikan

Setelah migrasi, jalankan kueri berikut untuk mengambil data dari kluster ClickHouse tujuan:

SELECT * FROM <table_name> FINAL WHERE _sign > 0;
  • Pengubah FINAL menghapus duplikat baris dengan kunci pengurutan yang sama, memastikan Anda melihat versi terbaru dari setiap baris.

  • Klausa WHERE _sign > 0 menyaring baris yang telah dihapus.

Tanpa FINAL, kueri dapat mengembalikan catatan duplikat atau yang telah dihapus.

Lampiran

Persyaratan tabel tujuan

Jika Anda melewatkan migrasi skema dan membuat tabel tujuan secara manual, tabel tersebut harus memenuhi persyaratan berikut.

Penting

Jika tabel tujuan mencakup parameter ENGINE, atur ke ENGINE = ReplicatedReplacingMergeTree(_version, _is_deleted). Konfigurasi engine lainnya dapat menyebabkan ketidakkonsistenan data.

Edisi kluster

Persyaratan pembuatan tabel

Edisi Kompatibel Komunitas

Buat tabel lokal dan tabel terdistribusi. Nama tabel terdistribusi harus sesuai dengan nama tabel sumber. Nama tabel lokal harus mengikuti format <distributed_table_name>_local.

Edisi Perusahaan

Buat tabel dengan nama yang sama dengan tabel sumber.

Bidang tambahan yang ditambahkan oleh DTS

DTS secara otomatis menambahkan bidang berikut ke setiap tabel tujuan selama migrasi skema.

Untuk mengkueri data yang disinkronkan, gunakan:

SELECT * FROM <table_name> FINAL WHERE _sign > 0;

Versi kluster

Bidang

Tipe data

Nilai default

Deskripsi

Edisi Kompatibel Komunitas yang menjalankan ClickHouse V23.8 atau lebih lama

_sign

Int8

1

Jenis operasi DML: INSERT atau UPDATE = 1; DELETE = -1.

_version

UInt64

1

Timestamp saat catatan ditulis ke kluster ClickHouse.

Edisi Perusahaan atau Edisi Kompatibel Komunitas yang menjalankan ClickHouse V23.8 atau lebih baru

_sign

Int8

1

Jenis operasi DML: INSERT atau UPDATE = 1; DELETE = -1.

_is_deleted

UInt8

0

Apakah catatan telah dihapus: Insert atau Update = 0; Delete = 1.

_version

UInt64

1

Timestamp saat catatan ditulis ke kluster ClickHouse.

Rentang tipe data waktu

Jika data waktu di kluster PolarDB for MySQL sumber berada di luar rentang berikut, nilai yang ditulis ke ApsaraDB for ClickHouse akan salah.

Tipe data

Nilai minimum

Nilai maksimum

Date

1970-01-01 00:00:00

2149-06-06 00:00:00

Date32

1925-01-01 00:00:00

2283-11-11 00:00:00

DateTime

1970-01-01 08:00:00

2106-02-07 14:28:15

DateTime64

1925-01-01 08:00:00

2283-11-12 07:59:59

Logika perhitungan partition key

DTS menerapkan logika berikut saat menurunkan nilai partition key dari bidang sumber.

Tipe bidang sumber

Logika perhitungan

BIGINT

intDiv(<partition_key_field>, 18014398509481984)

INT

intDiv(<partition_key_field>, 4194304)

TIMESTAMP

toYYYYMM(<partition_key_field>)

DATETIME

toYYYYMM(<partition_key_field>)

DATE

toYYYYMM(<partition_key_field>)