Anda dapat menggunakan Data Transmission Service (DTS) untuk memigrasikan data dari database MySQL—seperti database MySQL yang dikelola sendiri atau instans ApsaraDB RDS for MySQL—ke klaster ApsaraDB for ClickHouse. Hal ini memungkinkan Anda mentransfer data dengan mudah untuk analisis terpusat. Topik ini menggunakan instans ApsaraDB RDS for MySQL sebagai contoh untuk menunjukkan cara mengonfigurasi migrasi data dari ApsaraDB RDS for MySQL ke klaster ApsaraDB for ClickHouse.
Prasyarat
Klaster ApsaraDB for ClickHouse tujuan yang menjalankan versi 20.8 atau lebih baru telah dibuat. Untuk informasi selengkapnya, lihat Buat klaster.
Ruang penyimpanan klaster ApsaraDB for ClickHouse tujuan harus lebih besar daripada ruang penyimpanan yang digunakan oleh instans sumber ApsaraDB RDS for MySQL.
Catatan Penggunaan
Jenis | Deskripsi |
Batasan database sumber |
|
Batasan lainnya |
|
Kasus khusus |
|
Penagihan
Jenis migrasi | Biaya konfigurasi tautan | Biaya transfer data |
Migrasi skema dan migrasi data penuh | Gratis. | Contoh ini tidak dikenai biaya ini. |
Migrasi data inkremental | Dikenai biaya. Untuk informasi selengkapnya, lihat Ikhtisar penagihan. |
Operasi SQL yang mendukung migrasi inkremental
Jenis operasi | Operasi SQL |
DML | INSERT, UPDATE, DELETE |
DDL |
|
Pemetaan tipe data
Tipe data yang didukung oleh MySQL dan ClickHouse tidak memiliki pemetaan satu-ke-satu. Oleh karena itu, selama sinkronisasi skema awal, DTS memetakan tipe data dari database sumber ke tipe data yang kompatibel di database tujuan. Untuk informasi selengkapnya, lihat Pemetaan tipe data antar database heterogen.
Izin yang diperlukan untuk akun database
Database | Izin yang diperlukan | Cara membuat dan memberikan izin |
Sumber ApsaraDB RDS for MySQL | Izin baca pada objek yang ingin Anda migrasikan. | Buat akun dan Ubah izin akun. |
Klaster ApsaraDB for ClickHouse tujuan |
|
Jika Anda tidak menggunakan konsol ApsaraDB RDS for MySQL untuk membuat akun database sumber dan memberikan izin, pastikan akun tersebut memiliki izin REPLICATION CLIENT, REPLICATION SLAVE, SHOW VIEW, dan SELECT.
Prosedur
Gunakan salah satu metode berikut untuk membuka halaman Migrasi Data dan pilih wilayah tempat instans migrasi data berada.
Konsol DTS
Masuk ke Konsol DTS.
Di panel navigasi sebelah kiri, klik Data Migration.
Di pojok kiri atas halaman, pilih wilayah tempat instans migrasi data berada.
Konsol DMS
CatatanOperasi aktual mungkin berbeda tergantung pada mode dan tata letak konsol DMS. Untuk informasi selengkapnya, lihat Mode sederhana dan Sesuaikan tata letak dan gaya konsol DMS.
Masuk ke Konsol DMS.
Di bilah navigasi atas, arahkan kursor ke .
Dari daftar drop-down di sebelah kanan Data Migration Tasks, pilih wilayah tempat instans sinkronisasi data berada.
Klik Create Task untuk membuka halaman konfigurasi tugas.
Konfigurasikan database sumber dan tujuan. Tabel berikut menjelaskan parameter-parameter tersebut.
Kategori
Konfigurasi
Deskripsi
Tidak ada
Task Name
Nama tugas DTS. DTS secara otomatis menghasilkan nama tugas. Kami menyarankan agar Anda menentukan nama deskriptif yang memudahkan identifikasi tugas tersebut. Anda tidak perlu menentukan nama tugas yang unik.
Source Database
Select Existing Connection
Jika Anda menggunakan instans database yang terdaftar di DTS, pilih instans tersebut dari daftar drop-down. DTS secara otomatis mengisi parameter database berikut untuk instans tersebut. Untuk informasi selengkapnya, lihat Kelola koneksi database.
CatatanDi konsol DMS, Anda dapat memilih instans database dari daftar drop-down Select a DMS database instance.
Jika Anda gagal mendaftarkan instans ke DTS, atau Anda tidak perlu menggunakan instans yang terdaftar di DTS, Anda harus mengonfigurasi informasi database berikut.
Database Type
Pilih MySQL.
Access Method
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah tempat instans sumber ApsaraDB RDS for MySQL berada.
Replicate Data Across Alibaba Cloud Accounts
Contoh ini menjelaskan migrasi dalam akun Alibaba Cloud yang sama. Pilih No.
RDS Instance ID
Pilih ID instans sumber ApsaraDB RDS for MySQL.
Database Account
Masukkan akun database untuk instans sumber ApsaraDB RDS for MySQL. Untuk informasi tentang izin yang diperlukan, lihat Izin yang diperlukan untuk akun database.
Database Password
Kata sandi yang digunakan untuk mengakses database.
Encryption
Menentukan apakah akan mengenkripsi koneksi ke database. Anda dapat memilih Non-encrypted atau SSL-encrypted berdasarkan kebutuhan bisnis Anda. Jika Anda ingin mengatur parameter ini ke SSL-encrypted, Anda harus mengaktifkan enkripsi SSL untuk instans ApsaraDB RDS for MySQL sebelum mengonfigurasi tugas DTS. Untuk informasi selengkapnya, lihat Gunakan sertifikat cloud untuk mengaktifkan enkripsi SSL.
Destination Database
Select Existing Connection
Jika Anda menggunakan instans database yang terdaftar di DTS, pilih instans tersebut dari daftar drop-down. DTS secara otomatis mengisi parameter database berikut untuk instans tersebut. Untuk informasi selengkapnya, lihat Kelola koneksi database.
CatatanDi konsol DMS, Anda dapat memilih instans database dari daftar drop-down Select a DMS database instance.
Jika Anda gagal mendaftarkan instans ke DTS, atau Anda tidak perlu menggunakan instans yang terdaftar di DTS, Anda harus mengonfigurasi informasi database berikut.
Database Type
Pilih ClickHouse.
Access Method
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah tempat klaster ApsaraDB for ClickHouse tujuan berada.
Replicate Data Across Alibaba Cloud Accounts
Contoh ini menjelaskan migrasi dalam akun Alibaba Cloud yang sama. Pilih No.
Cluster Type
Pilih jenis klaster ApsaraDB for ClickHouse sesuai kebutuhan.
Cluster ID
Pilih ID klaster ApsaraDB for ClickHouse tujuan.
Database Account
Masukkan akun database untuk klaster ApsaraDB for ClickHouse tujuan. Untuk informasi tentang izin yang diperlukan, lihat Izin yang diperlukan untuk akun database.
Database Password
Kata sandi yang digunakan untuk mengakses database.
Di bagian bawah halaman, klik Test Connectivity and Proceed.
CatatanPastikan blok CIDR server DTS dapat ditambahkan secara otomatis atau manual ke pengaturan keamanan database sumber dan tujuan untuk mengizinkan akses dari server DTS. Untuk informasi selengkapnya, lihat Tambahkan alamat IP server DTS ke daftar putih.
Jika database sumber atau tujuan adalah database yang dikelola sendiri dan Access Method-nya tidak diatur ke Alibaba Cloud Instance, klik Test Connectivity di kotak dialog CIDR Blocks of DTS Servers.
Konfigurasikan objek yang akan dimigrasikan.
Di halaman Configure Objects, konfigurasikan objek yang ingin Anda migrasikan.
Konfigurasi
Deskripsi
Migration Types
Untuk melakukan migrasi data penuh saja, pilih Schema Migration dan Full Data Migration.
Untuk memastikan kelangsungan layanan selama migrasi data, pilih Schema Migration, Full Data Migration, dan Incremental Data Migration.
CatatanJika Anda tidak memilih Schema Migration, pastikan database dan tabel telah dibuat di database tujuan untuk menerima data dan fitur pemetaan nama objek diaktifkan di Selected Objects.
Jika Anda tidak memilih Incremental Data Migration, kami menyarankan agar Anda tidak menulis data ke database sumber selama migrasi data. Hal ini memastikan konsistensi data antara database sumber dan tujuan.
Processing Mode of Conflicting Tables
Precheck and Report Errors: memeriksa apakah database tujuan berisi tabel yang menggunakan nama yang sama dengan tabel di database sumber. Jika database sumber dan tujuan tidak berisi tabel dengan nama tabel yang identik, pemeriksaan awal berhasil. Jika tidak, kesalahan akan dikembalikan selama pemeriksaan awal dan tugas migrasi data tidak dapat dimulai.
CatatanJika database sumber dan tujuan berisi tabel dengan nama yang identik dan tabel di database tujuan tidak dapat dihapus atau diganti namanya, Anda dapat menggunakan fitur pemetaan nama objek untuk mengganti nama tabel yang dimigrasikan ke database tujuan. Untuk informasi selengkapnya, lihat Pemetaan nama objek.
Ignore Errors and Proceed: melewati pemeriksaan awal untuk nama tabel yang identik di database sumber dan tujuan.
PeringatanJika Anda memilih Ignore Errors and Proceed, ketidakkonsistenan data mungkin terjadi dan bisnis Anda mungkin menghadapi risiko potensial berikut:
Jika skema database sumber dan tujuan sama, dan catatan data memiliki kunci primer yang sama dengan catatan data yang ada di database tujuan, skenario berikut mungkin terjadi:
Selama migrasi data penuh, DTS tidak memigrasikan catatan data ke database tujuan. Catatan data yang ada di database tujuan dipertahankan.
Selama migrasi data inkremental, DTS memigrasikan catatan data ke database tujuan. Catatan data yang ada di database tujuan ditimpa.
Jika skema database sumber dan tujuan berbeda, hanya kolom tertentu yang dimigrasikan atau tugas migrasi data gagal. Lanjutkan dengan hati-hati.
Capitalization of Object Names in Destination Instance
Huruf kapital nama database, tabel, dan kolom di instans tujuan. Secara default, DTS default policy dipilih. Anda dapat memilih opsi lain untuk memastikan huruf kapital nama objek konsisten dengan database sumber atau tujuan. Untuk informasi selengkapnya, lihat Tentukan huruf kapital nama objek di instans tujuan.
Source Objects
Pilih satu atau beberapa objek dari bagian Source Objects. Klik ikon
untuk menambahkan objek ke bagian Selected Objects. CatatanAnda dapat memilih objek pada tingkat database atau tabel.
Selected Objects
Untuk mengganti nama objek yang ingin Anda migrasikan ke instans tujuan, klik kanan objek di bagian Selected Objects. Untuk informasi selengkapnya, lihat Pemetaan nama objek tunggal.
Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit di pojok kanan atas bagian Selected Objects. Untuk informasi selengkapnya, lihat Pemetaan nama beberapa objek sekaligus.
CatatanUntuk mengatur kondisi filter data, klik kanan tabel yang akan dimigrasikan di kotak Selected Objects dan atur kondisi filter di kotak dialog yang muncul. Untuk informasi selengkapnya, lihat Atur kondisi filter.
Jika Anda menggunakan fitur pemetaan nama objek, objek lain yang bergantung pada objek yang diganti nama mungkin gagal dimigrasikan.
Klik Next: Advanced Settings untuk mengonfigurasi pengaturan lanjutan.
Konfigurasi
Deskripsi
Dedicated Cluster for Task Scheduling
Secara default, DTS menjadwalkan tugas migrasi data ke klaster bersama jika Anda tidak menentukan klaster khusus. Jika Anda ingin meningkatkan stabilitas tugas migrasi data, beli klaster khusus. Untuk informasi selengkapnya, lihat Apa itu klaster khusus DTS.
Time zone of destination database
Anda dapat memilih zona waktu untuk data DateTime yang ditulis ke klaster ApsaraDB for ClickHouse.
Retry Time for Failed Connections
Rentang waktu ulang untuk koneksi yang gagal. Jika database sumber atau tujuan gagal terhubung setelah tugas migrasi data dimulai, DTS segera mencoba menghubungkan kembali dalam rentang waktu ulang tersebut. Nilai yang valid: 10 hingga 1.440. Satuan: menit. Nilai default: 720. Kami menyarankan agar Anda mengatur parameter ini ke nilai lebih dari 30. Jika DTS berhasil terhubung kembali ke database sumber dan tujuan dalam rentang waktu ulang yang ditentukan, DTS melanjutkan tugas migrasi data. Jika tidak, tugas migrasi data gagal.
CatatanJika Anda menentukan rentang waktu ulang yang berbeda untuk beberapa tugas migrasi data yang menggunakan database sumber atau tujuan yang sama, nilai yang ditentukan terakhir akan menggantikan nilai sebelumnya.
Saat DTS mencoba menghubungkan kembali, Anda dikenai biaya untuk instans DTS. Kami menyarankan agar Anda menentukan rentang waktu ulang berdasarkan kebutuhan bisnis Anda. Anda juga dapat melepaskan instans DTS sesegera mungkin setelah database sumber dan instans tujuan dilepas.
Retry Time for Other Issues
Rentang waktu ulang untuk masalah lainnya. Misalnya, jika operasi DDL atau DML gagal dilakukan setelah tugas migrasi data dimulai, DTS segera mencoba mengulang operasi tersebut dalam rentang waktu ulang. Nilai yang valid: 1 hingga 1.440. Satuan: menit. Nilai default: 10. Kami menyarankan agar Anda mengatur parameter ini ke nilai lebih dari 10. Jika operasi yang gagal berhasil dilakukan dalam rentang waktu ulang yang ditentukan, DTS melanjutkan tugas migrasi data. Jika tidak, tugas migrasi data gagal.
PentingNilai parameter Retry Time for Other Issues harus lebih kecil daripada nilai parameter Retry Time for Failed Connections.
Enable Throttling for Full Data Migration
Menentukan apakah akan mengaktifkan pembatasan untuk migrasi data penuh. Selama migrasi data penuh, DTS menggunakan sumber daya baca dan tulis dari database sumber dan tujuan. Hal ini dapat meningkatkan beban server database. Anda dapat mengaktifkan pembatasan untuk migrasi data penuh berdasarkan kebutuhan bisnis Anda. Untuk mengonfigurasi pembatasan, Anda harus mengatur parameter Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s). Hal ini mengurangi beban server database tujuan.
CatatanAnda hanya dapat mengonfigurasi parameter ini jika Anda memilih Full Data Migration untuk parameter Migration Types.
Enable Throttling for Incremental Data Migration
Menentukan apakah akan mengaktifkan pembatasan untuk migrasi data inkremental. Untuk mengonfigurasi pembatasan, Anda harus mengatur parameter RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s). Hal ini mengurangi beban server database tujuan.
CatatanAnda hanya dapat mengonfigurasi parameter ini jika Anda memilih Incremental Data Migration untuk parameter Migration Types.
Whether to delete SQL operations on heartbeat tables of forward and reverse tasks
Menentukan apakah akan menulis operasi SQL pada tabel heartbeat ke database sumber saat instans DTS berjalan. Nilai yang valid:
Yes: tidak menulis operasi SQL pada tabel heartbeat. Dalam hal ini, latensi instans DTS mungkin ditampilkan.
No: menulis operasi SQL pada tabel heartbeat. Dalam hal ini, fitur seperti backup fisik dan kloning database sumber mungkin terpengaruh.
Environment Tag
Anda dapat memilih tag lingkungan untuk mengidentifikasi instans tersebut. Dalam contoh ini, Anda tidak perlu memilih tag.
Configure ETL
Menentukan apakah akan mengaktifkan fitur ekstrak, transformasi, muat (ETL). Untuk informasi selengkapnya, lihat Apa itu ETL? Nilai yang valid:
Yes: mengonfigurasi fitur ETL. Anda dapat memasukkan pernyataan pemrosesan data di editor kode. Untuk informasi selengkapnya, lihat Konfigurasi ETL dalam tugas migrasi data atau sinkronisasi data.
No: tidak mengonfigurasi fitur ETL.
Monitoring and Alerting
Menentukan apakah akan mengonfigurasi peringatan untuk tugas migrasi data. Jika tugas gagal atau latensi migrasi melebihi ambang batas yang ditentukan, kontak peringatan akan menerima notifikasi. Nilai yang valid:
No: tidak mengonfigurasi peringatan.
Yes: mengonfigurasi peringatan. Dalam hal ini, Anda juga harus mengonfigurasi ambang batas peringatan dan pengaturan notifikasi peringatan. Untuk informasi selengkapnya, lihat bagian Konfigurasi pemantauan dan peringatan saat membuat tugas DTS dalam topik Konfigurasi pemantauan dan peringatan.
Klik Next: Configure Database and Table Fields untuk mengonfigurasi Type, Primary Key Column, Sort Key, Distribution Key, dan Partition Key untuk tabel tujuan di ClickHouse.
DTS menyediakan konfigurasi default. Untuk memodifikasi konfigurasi ini, Anda dapat mengatur Definition Status ke All.
Primary Key Column dan Sort Key dapat berupa kunci komposit. Anda dapat memilih beberapa bidang dari daftar drop-down yang sesuai untuk Primary Key Column atau Sort Key. Anda harus memilih satu atau beberapa kolom dari Primary Key Column untuk berfungsi sebagai Partition Key. Anda hanya dapat memilih satu bidang untuk Distribution Key. Untuk informasi selengkapnya tentang kunci primer, kunci pengurutan, dan kunci partisi, lihat BUAT TABEL.
CatatanAnda dapat meninggalkan Partition Key tidak dikonfigurasi, tetapi Anda tidak dapat memilih bidang nullable untuknya karena hal ini akan menyebabkan tugas migrasi gagal.
Kunci partisi hanya mendukung bidang bertipe data BIGINT, INT, TIMESTAMP, DATETIME, dan DATE. Untuk informasi selengkapnya tentang logika perhitungannya, lihat Logika perhitungan kunci partisi.
Simpan pengaturan tugas dan jalankan pemeriksaan awal.
Untuk melihat parameter yang perlu ditentukan saat Anda memanggil operasi API terkait untuk mengonfigurasi tugas DTS, arahkan kursor ke Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters.
Jika Anda tidak perlu melihat atau telah melihat parameter tersebut, klik Next: Save Task Settings and Precheck di bagian bawah halaman.
CatatanSebelum Anda dapat memulai tugas migrasi data, DTS melakukan pemeriksaan awal. Anda hanya dapat memulai tugas migrasi data setelah tugas tersebut lulus pemeriksaan awal.
Jika tugas gagal lulus pemeriksaan awal, klik View Details di sebelah setiap item yang gagal. Setelah Anda menganalisis penyebab berdasarkan hasil pemeriksaan, atasi masalah tersebut. Kemudian, jalankan pemeriksaan awal lagi.
Jika peringatan dipicu untuk suatu item selama pemeriksaan awal:
Jika item peringatan tidak dapat diabaikan, klik View Details di sebelah item yang gagal dan atasi masalah tersebut. Kemudian, jalankan pemeriksaan awal lagi.
Jika item peringatan dapat diabaikan, klik Confirm Alert Details. Di kotak dialog Lihat Detail, klik Ignore. Di pesan yang muncul, klik OK. Kemudian, klik Precheck Again untuk menjalankan pemeriksaan awal lagi. Jika Anda mengabaikan item peringatan, ketidakkonsistenan data mungkin terjadi, dan bisnis Anda mungkin menghadapi risiko potensial.
Beli instans.
Tunggu hingga Success Rate menjadi 100%. Kemudian, klik Next: Purchase Instance.
Di halaman Purchase Instance, konfigurasikan parameter Kelas Instans untuk instans migrasi data. Tabel berikut menjelaskan parameter-parameter tersebut.
Bagian
Parameter
Deskripsi
New Instance Class
Resource Group
Kelompok sumber daya tempat instans migrasi data berada. Nilai default: default resource group. Untuk informasi selengkapnya, lihat Apa itu Manajemen Sumber Daya?
Instance Class
DTS menyediakan kelas instans yang berbeda dalam kecepatan migrasi. Anda dapat memilih kelas instans berdasarkan skenario bisnis Anda. Untuk informasi selengkapnya, lihat Kelas instans untuk instans migrasi data.
Baca dan setujui Data Transmission Service (Pay-as-you-go) Service Terms dengan memilih kotak centang.
Klik Buy and Start. Di pesan yang muncul, klik OK.
Anda dapat melihat progres tugas di halaman Data Migration.
CatatanJika tugas migrasi data tidak dapat digunakan untuk memigrasikan data inkremental, tugas tersebut akan berhenti secara otomatis. Completed ditampilkan di bagian Status .
Jika tugas migrasi data dapat digunakan untuk memigrasikan data inkremental, tugas tersebut tidak akan berhenti secara otomatis. Tugas migrasi data inkremental tidak pernah berhenti atau selesai. Running ditampilkan di bagian Status.
Lampiran
Informasi waktu
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 |
Informasi tabel dan bidang
Informasi tabel
Jika Anda tidak menggunakan fitur pemetaan nama objek, tabel yang Anda buat harus memenuhi persyaratan berikut.
Jika tabel tujuan mencakup ENGINE, harus berupa ENGINE = ReplicatedReplacingMergeTree(_version, _is_deleted). Jika tidak, ketidakkonsistenan data mungkin terjadi.
Instans Edisi Komunitas ClickHouse: Anda perlu membuat satu tabel lokal dan satu tabel terdistribusi. Nama tabel terdistribusi harus sama dengan nama tabel sumber. Nama tabel lokal harus
<nama_tabel_terdistribusi>_local.Instans Edisi Perusahaan ClickHouse: Anda perlu membuat tabel dengan nama yang sama dengan tabel sumber.
Informasi bidang
Di instans ClickHouse, Anda dapat menjalankan pernyataan select * from table_name final where _sign>0; untuk mengkueri data. Kondisi where menyaring data yang dihapus, dan kata kunci final setelah nama tabel menyaring data dengan kunci pengurutan yang sama.
Versi | Nama | Tipe data | Nilai default | Deskripsi |
Edisi Komunitas sebelum 23.8 | _sign | Int8 | 1 | Jenis operasi DML.
|
_version | UInt64 | 1 | Stempel waktu saat data ditulis ke ClickHouse. | |
Edisi Perusahaan dan Edisi Komunitas 23.8 dan lebih baru | _sign | Int8 | 1 | Jenis operasi DML.
|
_is_deleted | UInt8 | 0 | Menunjukkan apakah catatan dihapus:
| |
_version | UInt64 | 1 | Stempel waktu saat data ditulis ke ClickHouse. |
Logika perhitungan kunci partisi
Tipe bidang sumber | Logika perhitungan kunci partisi |
BIGINT |
|
INT |
|
TIMESTAMP |
|
DATETIME | |
DATE |