All Products
Search
Document Center

MaxCompute:Replikasi lintas wilayah XCOPY

Last Updated:Mar 25, 2026

Pernyataan kepatuhan untuk transmisi data lintas batas

Jika Anda menggunakan XCOPY untuk transmisi data lintas batas, Anda harus mematuhi seluruh undang-undang dan peraturan yang berlaku di wilayah terkait.

Penting

Perlu diperhatikan bahwa fitur ini mentransfer data bisnis Anda ke wilayah yang Anda pilih atau wilayah tempat Produk ditempatkan, yang mungkin melibatkan transmisi data lintas batas. Anda menyetujui dan mengonfirmasi bahwa Anda memiliki wewenang penuh atas data bisnis tersebut dan bertanggung jawab sepenuhnya atas transmisinya.

Anda harus memastikan bahwa transmisi data Anda mematuhi seluruh undang-undang yang berlaku. Hal ini mencakup penerapan teknologi dan kebijakan keamanan data yang memadai, pemenuhan kewajiban hukum seperti memperoleh persetujuan eksplisit yang cukup dari individu, serta menyelesaikan penilaian keamanan ekspor data dan pengajuan dokumen terkait. Anda juga menjamin bahwa data bisnis Anda tidak mengandung konten apa pun yang dibatasi atau dilarang untuk ditransmisikan atau diungkapkan berdasarkan undang-undang yang berlaku.

Jika Anda gagal mematuhi pernyataan dan jaminan tersebut, Anda akan menanggung konsekuensi hukum yang sesuai. Anda bertanggung jawab atas segala kerugian yang dialami oleh Alibaba Cloud atau afiliasinya akibat ketidakpatuhan Anda.

Fitur

Fitur replikasi lintas wilayah (XCOPY) mendukung replikasi inkremental snapshot tabel. Fitur ini ideal untuk skenario seperti pencadangan data lintas wilayah, migrasi, dan berbagi data.

  • Fitur ini menggunakan replikasi inkremental tingkat file untuk menyalin file data biner terkompresi kolom, yang memberikan keseimbangan antara efisiensi transfer, pengurangan biaya, dan konsistensi data.

  • Replikasi didasarkan pada snapshot tabel. Data yang direplikasi dipisahkan dari tabel sumber, sehingga Anda dapat mengelola siklus hidup pencadangan secara independen.

  • Replika snapshot tabel menyediakan titik waktu yang jelas untuk Pemulihan Titik Waktu Tertentu (Point-in-Time Recovery/PITR), yang memungkinkan Anda memulihkan data yang baru saja hilang dari sumber data hulu.

  • Replikasi inkremental dilakukan pada tingkat partisi. Saat mereplikasi antara dua snapshot dari tabel yang sama, hanya partisi diferensial yang disalin. Partisi duplikat secara otomatis dilewati untuk menghindari replikasi berlebihan.

  • Penagihan: Untuk informasi lebih lanjut, lihat Biaya replikasi data lintas wilayah.

Lingkup dan batasan

  • Wilayah yang didukung: China (Hong Kong), Singapura, dan Jepang (Tokyo).

  • Bandwidth lintas wilayah: Bandwidth awal adalah 10 Gbps dan dapat disesuaikan sesuai kebutuhan.

  • Objek target: snapshot tabel.

    Snapshot tabel didukung untuk tabel standar (termasuk tabel terpartisi, tidak terpartisi, dan tabel terkluster) serta tabel PK/Append Delta. Snapshot tidak didukung untuk tabel transaksional.

  • Batas tugas XCOPY:

    Maksimal 128 tugas snapshot XCOPY dapat berjalan secara bersamaan dalam satu Proyek. Pengiriman tugas tambahan akan gagal jika batas ini terlampaui.

  • Persyaratan izin:

    • Proyek sumber dan proyek tujuan harus dimiliki oleh akun utama yang sama.

    • Anda harus memiliki izin SELECT pada snapshot tabel sumber di proyek sumber.

    • Anda harus memiliki izin CREATE TABLE di proyek tujuan.

Catatan

Kami menyarankan agar proyek pencadangan di wilayah backup hanya digunakan untuk menyimpan data pencadangan dan menjalankan kueri sementara. Jika Anda perlu menjalankan beban kerja produksi di wilayah backup, buatlah proyek terpisah.

Aktifkan XCOPY

Prosedur

  1. Kirimkan tiket dengan menyertakan nama proyek yang ingin Anda cadangkan.

  2. Aktifkan sakelar saluran XCOPY di Konsol.

    Di wilayah sumber, aktifkan XCOPY Channel Switch untuk mengizinkan pengguna yang berwenang menyalin data ke wilayah lain menggunakan XCOPY.

    1. Login ke Konsol MaxCompute, lalu pilih wilayah di pojok kiri atas.

    2. Di panel navigasi sebelah kiri, pilih Manage Configurations > Tenants.

    3. Di halaman Tenants, klik tab Tenant Property.

Referensi perintah XCOPY

Sintaks

XCOPY SNAPSHOT <src_remote_project_name>.<src_remote_snapshot_name>
TO SNAPSHOT [<dest_local_project_name>.]<dest_local_snapshot_name> 
OPTIONS(src_region=<region_name>); 

Parameter

  • src_remote_project_name: Menentukan nama proyek sumber.

  • src_remote_snapshot_name: Menentukan nama snapshot tabel di proyek sumber.

  • dest_local_project_name: Menentukan nama proyek tujuan. Parameter ini opsional.

  • dest_local_snapshot_name: Menentukan nama snapshot tabel yang akan dibuat atau ditimpa di proyek tujuan.

  • region_name: Menentukan nama wilayah sumber. Contoh: cn-hongkong untuk China (Hong Kong) dan ap-northeast-1 untuk Jepang (Tokyo). Untuk informasi lebih lanjut, lihat Nama wilayah.

Contoh

Contoh ini menunjukkan pencadangan pemulihan bencana dari wilayah utama di Singapura (SGP) ke wilayah backup di China (Hong Kong) (HK), seperti yang ditampilkan pada gambar berikut:

image

  • Fase pencadangan

    Wilayah utama (Singapura): Di Project_A di bawah Account A (User1), Anda membuat snapshot SNAPSHOT_X1/X2 dan SNAPSHOT_Y1 untuk tabel sumber Table_X dan Table_Y, masing-masing.

    -- Fase backup
    -- Pengguna membuat snapshot di wilayah Singapura (Region-SGP).
    CREATE SNAPSHOT TABLE
    Project_A.table_x_snapshot_20260101
    CLONE Project_A.table_x; 
  • Fase replikasi lintas wilayah

    XCOPY mereplikasi data snapshot dari wilayah utama ke wilayah backup melalui koneksi khusus lintas wilayah dan lintas batas.

    -- Pengguna menyalin snapshot yang dibuat di Region-SGP ke wilayah China (Hong Kong) (Region-HK).
    XCOPY
    SNAPSHOT Project_A.table_x_snapshot_20260101
    TO
    SNAPSHOT Project_B.table_x_snapshot_20260101
    OPTIONS( src_region =” ap-southeast-1”);
  • Fase pemulihan

    Wilayah backup (China (Hong Kong)): Project_B menerima snapshot yang direplikasi. Anda kemudian dapat memulihkan snapshot tersebut ke tabel target, seperti Table_Z.

    -- Fase pemulihan
    -- Pengguna menjalankan kueri temporary pada data backup di Region-HK.
    SELECT * FROM Project_B.table_x_snapshot_20260101;
    
    -- Pengguna memulihkan data di Region-HK.
    CREATE TABLE table_x CLONE table_x_snapshot_20260101;

Backup harian tabel lintas wilayah

Langkah 1: Buat snapshot di wilayah utama

  1. Buka lingkungan pengembangan DataWorks

    1. Login ke Konsol DataWorks dan pilih wilayah di pojok kiri atas.

    2. Di panel navigasi kiri, klik Workspace.

    3. Di bagian Select Workspace, klik Go To DataStudio.

  2. Buat node SQL MaxCompute

    • Nama Node: create_daily_snapshots

    • Deskripsi Node: Buat snapshot harian untuk tabel.

  3. Tulis skrip SQL

    -- Skrip ini membuat snapshot harian untuk tabel 'a' dan 'b'. Variabel ${var1} dan ${var2} adalah placeholder untuk tanggal saat ini, yang dikonfigurasi dalam properti penjadwalan DataWorks.
    CREATE SNAPSHOT TABLE a_snapshot_${var1} CLONE a;
    CREATE SNAPSHOT TABLE b_snapshot_${var2} CLONE b;
  4. Konfigurasi properti penjadwalan

    Di pojok kanan atas editor node, klik Scheduling Configuration. Di panel yang muncul, klik Scheduling Time dan konfigurasikan properti sebagai berikut:

    Parameter

    Nilai contoh

    Scheduling Cycle

    Daily

    Scheduling Time

    01:00

    Effective Date

    • Permanent

    • Specified Time: 2026-01-01 hingga 9999-12-31 (jangka panjang)

Langkah 2: XCOPY Snapshot ke wilayah cadangan

  1. Buka lingkungan pengembangan DataWorks

    1. Login ke Konsol DataWorks dan pilih wilayah di pojok kiri atas.

    2. Di panel navigasi kiri, klik Workspace.

    3. Di bagian Select Workspace, klik Go To DataStudio.

  2. Buat node SQL MaxCompute

    • Nama Node: create_daily_snapshots

    • Deskripsi Node: Buat snapshot harian untuk tabel.

  3. Tulis skrip SQL

    -- Skrip ini menggunakan XCOPY untuk mereplikasi snapshot harian yang dibuat di wilayah sumber.
    XCOPY SNAPSHOT src_project.a_snapshot_$[yyyymmdd]
    TO SNAPSHOT a_snapshot_$[yyyymmdd]
    options(src_region="cn-hongkong");
    
    XCOPY SNAPSHOT src_project.b_snapshot_$[yyyymmdd]
    TO SNAPSHOT b_snapshot_$[yyyymmdd]
    options(src_region="cn-hongkong");
  4. Konfigurasi properti penjadwalan

    Di pojok kanan atas editor node, klik Scheduling Configuration. Di panel yang muncul, klik Scheduling Time dan konfigurasikan properti sebagai berikut:

    Parameter

    Nilai contoh

    Scheduling Cycle

    Daily

    Scheduling Time

    02:00

    Effective Date

    • Permanent

    • Specified Time: 2026-01-01 hingga 9999-12-31 (jangka panjang)

Langkah 3: Verifikasi integritas snapshot

Periksa Information Schema tingkat tenant untuk memverifikasi bahwa semua snapshot berhasil direplikasi ke wilayah backup.

  1. Di wilayah backup, jalankan kode berikut untuk menghitung jumlah snapshot yang direplikasi ke wilayah backup pada hari tertentu.

    SET odps.namespace.schema=true;
    SELECT * FROM  SYSTEM_CATALOG.INFORMATION_SCHEMA.tables
    WHERE table_catalog = <dest_project>
    AND table_type = 'SNAPSHOT_TABLE'
    AND table_name LIKE "%_snapshot_20260101";
  2. Lakukan validasi data sampel (opsional)

    Hitung statistik dan checksum MD5 untuk snapshot di wilayah utama dan backup guna memverifikasi konsistensi data.

    -- Bandingkan statistik menggunakan count, sum, distinct, min, dan max.
    -- Untuk perbandingan detail, bagi tabel menjadi 1.000 bucket. Pastikan jumlah hash MD5 untuk semua baris dalam setiap bucket identik.
    -- Hash MD5 untuk setiap baris dihitung dengan menggabungkan nilai semua kolomnya menjadi satu string.
    WITH table_hashs AS (
      SELECT
      COUNT(1) row_count,
      MD5(
        SUM(
          MD5(
            CONCAT_WS('|', <column_name_1>, <column_name_n>)
          )
        )
      ) AS bucket_hash
      FROM <snapshot_name>
      GROUP BY HASH(<column_name_1>) % 1000
    )
    SELECT
    SUM(row_count) AS row_count,
    MD5(WM_CONCAT(',', bucket_hash ) WITHIN GROUP (ORDER BY bucket_hash)) AS table_hash
    FROM table_hashs;