ApsaraDB untuk ClickHouse adalah database kolom yang dirancang untuk pemrosesan analitik online (OLAP). Database ini mendukung analisis agregat dan kueri cepat pada tabel lebar besar, dengan kecepatan satu orde lebih tinggi dibandingkan database analitik lainnya. Anda dapat menggunakan Data Transmission Service (DTS) untuk menyinkronkan data dari database MySQL—baik database MySQL yang dikelola sendiri maupun instans ApsaraDB RDS untuk MySQL—ke klaster ApsaraDB untuk ClickHouse, sehingga memudahkan pemusatan data untuk analisis. Topik ini menggunakan contoh instans RDS MySQL untuk menunjukkan cara menyinkronkan datanya ke klaster ApsaraDB untuk ClickHouse.
Prasyarat
Anda telah membuat klaster ApsaraDB untuk ClickHouse tujuan yang menjalankan versi 20.8 atau lebih baru. Untuk informasi selengkapnya, lihat Buat klaster.
Ruang penyimpanan klaster ApsaraDB untuk ClickHouse harus lebih besar daripada ruang penyimpanan yang digunakan oleh instans RDS MySQL sumber.
Batasan
Jenis | Deskripsi |
Batasan database sumber |
|
Batasan lainnya |
|
Catatan lainnya |
|
Penagihan
| Jenis sinkronisasi | Biaya konfigurasi tugas |
| Sinkronisasi skema dan sinkronisasi data penuh | Gratis. |
| Sinkronisasi data inkremental | Dikenai biaya. Untuk informasi selengkapnya, lihat Ikhtisar penagihan. |
Operasi SQL yang didukung
Jenis operasi | Pernyataan SQL |
DML | INSERT, UPDATE, DELETE |
DDL |
|
Pemetaan tipe data
Karena MySQL dan klaster ApsaraDB untuk ClickHouse mendukung tipe data yang berbeda, pemetaan satu-ke-satu tidak mungkin dilakukan. Saat DTS melakukan sinkronisasi skema awal, DTS memetakan tipe data berdasarkan tipe yang didukung oleh database tujuan. Untuk informasi selengkapnya, lihat Pemetaan tipe data untuk sinkronisasi skema awal.
Izin akun database
Database | Izin yang diperlukan | Metode pembuatan dan otorisasi |
Sumber RDS MySQL | Izin baca pada objek yang akan disinkronkan. | Buat akun dan Ubah izin akun. |
Klaster ApsaraDB untuk ClickHouse tujuan |
|
Jika akun database sumber yang Anda gunakan tidak dibuat dan diotorisasi melalui konsol RDS MySQL, pastikan akun tersebut memiliki izin REPLICATION CLIENT, REPLICATION SLAVE, SHOW VIEW, dan SELECT.
Prosedur
Gunakan salah satu metode berikut untuk membuka halaman Sinkronisasi Data dan pilih wilayah tempat instans sinkronisasi data berada.
Konsol DTS
Masuk ke Konsol DTS.
Di panel navigasi sebelah kiri, klik Data Synchronization.
Di pojok kiri atas halaman, pilih wilayah tempat tugas sinkronisasi 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 Data + AI lalu pilih .
Dari daftar drop-down di sebelah kanan Data Synchronization 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 merekomendasikan agar Anda menentukan nama deskriptif yang memudahkan identifikasi tugas. 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 RDS MySQL sumber berada.
Replicate Data Across Alibaba Cloud Accounts
Contoh ini menunjukkan sinkronisasi dalam akun Alibaba Cloud yang sama. Pilih No.
RDS Instance ID
Pilih ID instans RDS MySQL sumber.
Database Account
Masukkan akun database instans RDS MySQL sumber. Untuk informasi tentang persyaratan izin, lihat Izin 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 untuk 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 untuk ClickHouse tujuan berada.
Replicate Data Across Alibaba Cloud Accounts
Contoh ini menunjukkan sinkronisasi dalam akun Alibaba Cloud yang sama. Pilih No.
Cluster Type
Pilih jenis klaster ApsaraDB untuk ClickHouse sesuai kebutuhan.
Cluster ID
Pilih ID klaster ApsaraDB untuk ClickHouse tujuan.
Database Account
Masukkan akun database klaster ApsaraDB untuk ClickHouse tujuan. Untuk informasi tentang persyaratan izin, lihat Izin akun database.
Database Password
Kata sandi yang digunakan untuk mengakses database.
Klik Test Connectivity and Proceed di bagian bawah halaman.
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 disinkronkan.
Pada langkah Configure Objects, konfigurasikan objek yang ingin Anda sinkronkan.
Konfigurasi
Deskripsi
Synchronization Types
Jenis sinkronisasi. Secara default, Incremental Data Synchronization dipilih. Anda juga harus memilih Schema Synchronization dan Full Data Synchronization. Setelah pemeriksaan awal selesai, DTS menyinkronkan data historis objek yang dipilih dari database sumber ke klaster tujuan. Data historis merupakan dasar untuk sinkronisasi inkremental selanjutnya.
Processing Mode of Conflicting Tables
Precheck and Report Errors: memeriksa apakah database tujuan berisi tabel yang memiliki nama yang sama dengan tabel di database sumber. Jika database sumber dan tujuan tidak berisi tabel dengan nama tabel yang identik, pemeriksaan awal lolos. Jika tidak, kesalahan akan dikembalikan selama pemeriksaan awal, dan tugas sinkronisasi 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 disinkronkan ke database tujuan. Untuk informasi selengkapnya, lihat Petakan 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 terpapar risiko potensial.
Jika database sumber dan tujuan memiliki skema yang sama dan catatan data di database tujuan memiliki nilai kunci primer atau nilai kunci unik yang sama dengan catatan data di database sumber:
Selama sinkronisasi data penuh, DTS tidak menyinkronkan catatan data ke database tujuan. Catatan data yang ada di database tujuan dipertahankan.
Selama sinkronisasi data inkremental, DTS menyinkronkan catatan data ke database tujuan. Catatan data yang ada di database tujuan ditimpa.
Jika database sumber dan tujuan memiliki skema yang berbeda, inisialisasi data mungkin gagal. Dalam kasus ini, hanya beberapa kolom yang disinkronkan, atau instans sinkronisasi data gagal. Harap berhati-hati.
Capitalization of Object Names in Destination Instance
Huruf kapital nama database, nama tabel, dan nama 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 lalu klik ikon
untuk menambahkan objek ke bagian Selected Objects. CatatanAnda dapat memilih objek untuk disinkronkan di tingkat database atau tabel.
Selected Objects
Untuk mengganti nama objek yang ingin Anda sinkronkan ke instans tujuan, klik kanan objek di bagian Selected Objects. Untuk informasi selengkapnya, lihat bagian "Petakan nama objek tunggal" dalam topik Petakan nama objek.
Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit di pojok kanan atas bagian Selected Objects. Untuk informasi selengkapnya, lihat bagian "Petakan beberapa nama objek sekaligus" dalam topik Petakan nama objek.
CatatanUntuk memfilter data, Anda dapat mengklik kanan tabel yang akan disinkronkan di kotak Selected Objects lalu mengatur kondisi filter di kotak dialog. Untuk informasi selengkapnya, lihat Atur kondisi filter.
Jika Anda menggunakan fitur pemetaan nama objek, objek lain yang bergantung pada objek yang dipetakan mungkin gagal disinkronkan.
Klik Next: Advanced Settings untuk mengonfigurasi pengaturan lanjutan.
Konfigurasi
Deskripsi
Dedicated Cluster for Task Scheduling
Secara default, DTS menjadwalkan tugas ke klaster bersama jika Anda tidak menentukan klaster khusus. Jika Anda ingin meningkatkan stabilitas instans sinkronisasi 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 untuk ClickHouse.
Retry Time for Failed Connections
Rentang waktu ulang untuk koneksi yang gagal. Jika database sumber atau tujuan gagal terhubung setelah tugas sinkronisasi data dimulai, DTS segera mencoba menghubungkan kembali dalam rentang waktu tersebut. Nilai yang valid: 10 hingga 1440. Satuan: menit. Nilai default: 720. Kami merekomendasikan agar Anda mengatur parameter ini ke nilai lebih dari 30. Jika DTS berhasil menghubungkan kembali ke database sumber dan tujuan dalam rentang waktu yang ditentukan, DTS melanjutkan tugas sinkronisasi data. Jika tidak, tugas sinkronisasi data gagal.
CatatanJika Anda menentukan rentang waktu ulang yang berbeda untuk beberapa tugas sinkronisasi data yang memiliki database sumber atau tujuan yang sama, rentang waktu ulang terpendek yang berlaku.
Saat DTS mencoba menghubungkan kembali, Anda dikenai biaya untuk instans DTS. Kami merekomendasikan agar Anda menentukan rentang waktu ulang berdasarkan kebutuhan bisnis Anda. Anda juga dapat melepaskan instans DTS sesegera mungkin setelah instans sumber dan tujuan dilepas.
Retry Time for Other Issues
Rentang waktu ulang untuk masalah lainnya. Misalnya, jika operasi DDL atau DML gagal dilakukan setelah tugas sinkronisasi data dimulai, DTS segera mencoba mengulang operasi tersebut dalam rentang waktu tersebut. Nilai yang valid: 1 hingga 1440. Satuan: menit. Nilai default: 10. Kami merekomendasikan agar Anda mengatur parameter ini ke nilai lebih dari 10. Jika operasi yang gagal berhasil dilakukan dalam rentang waktu yang ditentukan, DTS melanjutkan tugas sinkronisasi data. Jika tidak, tugas sinkronisasi 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 Synchronization
Selama sinkronisasi data penuh, DTS menggunakan sumber daya baca dan tulis database sumber dan tujuan. Hal ini dapat meningkatkan beban pada server database. Anda dapat mengonfigurasi parameter Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s) untuk tugas sinkronisasi data penuh guna mengurangi beban pada server database tujuan.
CatatanAnda hanya dapat mengonfigurasi parameter ini jika Full Data Synchronization dipilih untuk parameter Synchronization Types.
Enable Throttling for Incremental Data Synchronization
Menentukan apakah akan mengaktifkan pembatasan untuk sinkronisasi data inkremental. Anda dapat mengaktifkan pembatasan untuk sinkronisasi data inkremental berdasarkan kebutuhan bisnis Anda. Untuk mengonfigurasi pembatasan, Anda harus mengonfigurasi parameter RPS of Incremental Data Synchronization dan Data synchronization speed for incremental synchronization (MB/s). Hal ini mengurangi beban pada server database tujuan.
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 sesuai kebutuhan. Tidak perlu pemilihan untuk contoh ini.
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 instans sinkronisasi data. Jika tugas gagal atau latensi sinkronisasi melebihi ambang batas yang ditentukan, kontak peringatan akan menerima notifikasi. Nilai yang valid:
No: tidak mengaktifkan 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 yang akan disinkronkan ke ClickHouse.
DTS menyediakan konfigurasi default. Anda dapat mengatur Definition Status ke All untuk memodifikasi konfigurasi.
Primary Key Column dan Sort Key dapat berupa kunci komposit. Anda dapat memilih beberapa bidang dari daftar drop-down untuk menentukan Primary Key Column atau Sort Key. Anda juga harus memilih satu atau beberapa kolom dari Primary Key Column sebagai Partition Key. Hanya satu bidang yang dapat dipilih sebagai Distribution Key. Untuk informasi selengkapnya tentang kolom kunci primer, kunci pengurutan, dan kunci partisi, lihat BUAT TABEL.
CatatanPartition Key bersifat opsional, tetapi tidak boleh berupa bidang nullable, atau tugas sinkronisasi akan gagal.
Hanya bidang bertipe BIGINT, INT, TIMESTAMP, DATETIME, dan DATE yang didukung sebagai kunci partisi. Untuk informasi tentang logika perhitungan, lihat Logika perhitungan untuk kunci partisi.
Simpan pengaturan tugas dan jalankan pemeriksaan awal.
Untuk melihat parameter yang harus ditentukan saat Anda memanggil operasi API terkait untuk mengonfigurasi tugas DTS, arahkan kursor ke Next: Save Task Settings and Precheck lalu klik Preview OpenAPI parameters.
Jika Anda tidak perlu melihat atau telah melihat parameter, klik Next: Save Task Settings and Precheck di bagian bawah halaman.
CatatanSebelum Anda dapat memulai tugas sinkronisasi data, DTS melakukan pemeriksaan awal. Anda hanya dapat memulai tugas sinkronisasi data setelah tugas tersebut lolos pemeriksaan awal.
Jika tugas sinkronisasi data gagal dalam pemeriksaan awal, klik View Details di sebelah setiap item yang gagal. Setelah Anda menganalisis penyebab berdasarkan hasil pemeriksaan, atasi masalah tersebut. Kemudian, jalankan kembali pemeriksaan awal.
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 terpapar risiko potensial.
Beli instance.
Tunggu hingga Success Rate menjadi 100%. Lalu, klik Next: Purchase Instance.
Di halaman buy, konfigurasikan parameter Metode Penagihan dan Kelas Instans untuk tugas sinkronisasi data. Tabel berikut menjelaskan parameter-parameter tersebut.
Bagian
Parameter
Deskripsi
New Instance Class
Metode Penagihan
Langganan: Anda membayar untuk langganan saat membuat instans sinkronisasi data. Metode penagihan langganan lebih hemat biaya dibandingkan metode penagihan bayar sesuai pemakaian untuk penggunaan jangka panjang.
Bayar sesuai pemakaian: Instans bayar sesuai pemakaian ditagih per jam. Metode penagihan bayar sesuai pemakaian cocok untuk penggunaan jangka pendek. Jika Anda tidak lagi memerlukan instans sinkronisasi data bayar sesuai pemakaian, Anda dapat melepaskan instans tersebut untuk mengurangi biaya.
Pengaturan Kelompok Sumber Daya
Kelompok sumber daya tempat instans sinkronisasi data berada. Nilai default: default resource group. Untuk informasi selengkapnya, lihat Apa itu Manajemen Sumber Daya?
Kelas Instans
DTS menyediakan kelas instans dengan kecepatan sinkronisasi yang berbeda. Anda dapat memilih kelas instans berdasarkan kebutuhan bisnis Anda. Untuk informasi selengkapnya, lihat Kelas instans untuk instans sinkronisasi data.
Durasi Langganan
Jika Anda memilih metode penagihan langganan, tentukan durasi langganan dan jumlah instans sinkronisasi data yang ingin Anda buat. Durasi langganan dapat berupa satu hingga sembilan bulan, satu tahun, dua tahun, tiga tahun, atau lima tahun.
CatatanParameter ini hanya tersedia jika Anda memilih metode penagihan Subscription.
Baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.
Klik Buy and Start. Di kotak dialog yang muncul, klik OK.
Anda dapat melihat progres tugas di daftar tugas.
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, ENGINE tersebut 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 berupa
<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 memfilter data yang dihapus, dan kata kunci final setelah nama tabel memfilter 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 untuk kunci partisi
Tipe bidang sumber | Logika perhitungan kunci partisi |
BIGINT |
|
INT |
|
TIMESTAMP |
|
DATETIME | |
DATE |