Topik ini menjelaskan cara melakukan migrasi data antar kluster ApsaraDB for ClickHouse Enterprise Edition menggunakan fungsi remote untuk mengeksekusi pernyataan INSERT INTO dengan SELECT bersarang. Metode ini memungkinkan replikasi data yang efisien dan langsung untuk keperluan migrasi.
Skenario
Migrasi data dari backup yang telah dipulihkan.
Menyalin data dari layanan development ke layanan pre-production, atau dari layanan pre-production ke layanan produksi.
Prosedur
Langkah 1: Konfigurasikan izin kluster sumber dan dapatkan skema tabel
Buat pengguna read-only untuk mengkueri data dari kluster sumber selama migrasi data.
CREATE USER exporter IDENTIFIED WITH SHA256_PASSWORD BY 'password-here' SETTINGS readonly = 1;Berikan izin kueri pada tabel database tertentu.
GRANT SELECT ON test_db.test_tb TO exporter;Dapatkan skema tabel sumber.
SELECT create_table_query FROM system.tables WHERE database = 'test_db' AND TABLE = 'test_tb'
Langkah 2: Buat skema tabel pada kluster tujuan
Buat database.
CREATE DATABASE test_dbGunakan skema tabel sumber (pernyataan
CREATE TABLE) yang diperoleh pada Langkah 1 untuk membuat tabel di database tujuan.CREATE TABLE test_db.test_tb ...
Langkah 3: Konfigurasikan daftar putih
Kluster sumber dan tujuan harus dapat saling terhubung selama migrasi data. Untuk mengaktifkan koneksi tersebut, konfigurasikan pengaturan berikut:
Tambahkan alamat IP kluster sumber ke daftar putih kluster tujuan.
Tambahkan alamat IP kluster tujuan ke daftar putih kluster sumber.
Anda dapat menjalankan SELECT * FROM system.clusters; untuk melihat alamat IP kluster ApsaraDB for ClickHouse Enterprise Edition.
Langkah 4: Lakukan migrasi data
Jalankan pernyataan SQL berikut untuk membaca data dari kluster sumber dan memasukkannya ke tabel tujuan menggunakan fungsi remote.
INSERT INTO test_db.test_tb
SELECT *
FROM remote(
'source-hostname:9000', -- Endpoint dan port kluster sumber
'test_db', -- Nama database sumber
'test_tb', -- Nama tabel sumber
'exporter', -- Username
'password-here' -- Password pengguna
);Langkah 5: (Opsional) Lakukan konfigurasi keamanan dan pembersihan lingkungan
Buat daftar akses alamat IP untuk kluster tujuan.
Setelah migrasi data selesai, jika kluster tujuan akan digunakan sebagai lingkungan produksi baru, konfigurasikan daftar putih.
Hapus pengguna read-only dari kluster sumber.
DROP USER exporter;Hapus alamat IP kluster tujuan dari daftar putih kluster sumber.