All Products
Search
Document Center

ApsaraDB for ClickHouse:Migrasi data antar kluster ApsaraDB for ClickHouse Enterprise Edition

Last Updated:Jan 22, 2026

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

  1. 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;
  2. Berikan izin kueri pada tabel database tertentu.

    GRANT SELECT ON test_db.test_tb TO exporter;
  3. 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

  1. Buat database.

    CREATE DATABASE test_db
  2. Gunakan 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.

Catatan

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

  1. Buat daftar akses alamat IP untuk kluster tujuan.

    Setelah migrasi data selesai, jika kluster tujuan akan digunakan sebagai lingkungan produksi baru, konfigurasikan daftar putih.

  2. Hapus pengguna read-only dari kluster sumber.

    DROP USER exporter;
  3. Hapus alamat IP kluster tujuan dari daftar putih kluster sumber.