全部产品
Search
文档中心

PolarDB:Arsipkan ke format X-Engine

更新时间:Feb 11, 2026

Seiring pertumbuhan data bisnis Anda, menyimpan seluruh data—termasuk data hangat dan dingin yang jarang diakses—dalam tabel InnoDB standar meningkatkan biaya penyimpanan. Namun, mengarsipkannya ke penyimpanan eksternal menghilangkan kemampuan akses online untuk operasi baca, tulis, dan analitis. PolarDB for MySQL menawarkan tiering data menggunakan X-Engine. Anda dapat mengonversi seluruh tabel atau partisi tertentu agar menggunakan X-Engine berkompresi tinggi, sehingga memungkinkan penyimpanan hibrida antara InnoDB (data panas) dan X-Engine (data hangat/dingin) dalam satu tabel yang sama. Pendekatan ini mengurangi biaya penyimpanan tanpa mengorbankan akses online. Data dalam X-Engine tetap mendukung operasi DML dan perubahan skema DDL online.

Cara kerja

PolarDB for MySQL memungkinkan partisi berbeda dalam satu tabel partisi menggunakan mesin penyimpanan yang berbeda. Cara kerjanya sebagai berikut:

  • Tiering data: Simpan partisi data “panas” yang sering diakses dalam InnoDB untuk performa baca dan tulis optimal. Migrasikan partisi data “hangat” atau “dingin” yang jarang diakses ke X-Engine.

  • Perutean cerdas: Saat Anda melakukan kueri terhadap tabel tersebut, PolarDB secara otomatis mengarahkan permintaan ke partisi yang sesuai beserta mesin penyimpanannya berdasarkan kondisi kueri. Proses ini transparan bagi lapisan aplikasi.

  • Rasio kompresi tinggi: X-Engine menggunakan algoritma kompresi advanced dan format column store opsional untuk mencapai rasio kompresi data yang sangat tinggi. Hal ini secara signifikan mengurangi penggunaan disk space fisik dan menekan biaya.

Penerapan

Sebelum menggunakan fitur ini, pastikan kluster PolarDB for MySQL Anda memenuhi persyaratan versi berikut.

  • Untuk mengarsipkan tabel standar:

    • MySQL 8.0.1, revisi 8.0.1.1.31 atau lebih baru.

    • MySQL 8.0.2, revisi 8.0.2.2.12 atau lebih baru.

  • Untuk mengarsipkan tabel partisi: MySQL 8.0.2, revisi 8.0.2.2.12 atau lebih baru.

  • Untuk mengarsipkan ke tabel berorientasi kolom X-Engine: MySQL 8.0.2, revisi 8.0.2.2.33 atau lebih baru.

Persiapan

Lakukan langkah-langkah berikut sebelum mengarsipkan data.

  1. Aktifkan mesin kompresi tinggi (X-Engine): Langkah ini menjadikan X-Engine tersedia sebagai opsi mesin penyimpanan untuk tabel atau partisi.

  2. Aktifkan partisi hibrida: Untuk kluster dengan versi mesin minor sebelum 8.0.2.2.33, buka Quota Center. Temukan kuota dengan Quota ID polardb_mysql_hybrid_partition dan klik Request pada kolom Operation yang sesuai untuk mengaktifkan fitur tersebut.

Arsipkan tabel standar

Konversi seluruh tabel non-partisi dari InnoDB ke X-Engine, termasuk datanya dan mesin penyimpanannya.

Sintaks

ALTER TABLE table_name ENGINE=engine_name[ TABLE_FORMAT=COLUMN];

Deskripsi parameter

Parameter

Deskripsi parameter

table_name

Nama tabel yang akan diarsipkan ke X-Engine.

engine_name

Nama mesin penyimpanan.

  • XEngine: Arsipkan ke format X-Engine.

  • InnoDB: Kembalikan ke engine InnoDB.

TABLE_FORMAT

Format penyimpanan data X-Engine (opsional).

  • ROW (default): Tabel berorientasi baris.

  • COLUMN: Tabel berorientasi kolom.

Contoh

  • Arsipkan tabel standar t1 ke tabel berorientasi baris X-Engine:

    ALTER TABLE t1 ENGINE=XEngine;
  • Arsipkan tabel standar t1 ke tabel berorientasi kolom X-Engine:

    ALTER TABLE t1 ENGINE=XEngine TABLE_FORMAT=COLUMN;
  • Kembalikan tabel standar t1 ke engine InnoDB:

    ALTER TABLE t1 ENGINE=InnoDB;

Arsipkan tabel partisi

Arsipkan partisi tertentu

Arsipkan partisi tertentu (biasanya partisi lama yang menyimpan data dingin) dalam tabel partisi ke X-Engine. Hal ini memungkinkan tiering data panas dan dingin, menghasilkan tabel partisi hibrida.

Sintaks

ALTER TABLE table_name CHANGE PARTITION part_name ENGINE = XEngine[ TABLE_FORMAT=COLUMN];

Deskripsi parameter

Parameter

Deskripsi parameter

table_name

Nama tabel yang akan diarsipkan ke X-Engine.

part_name

Nama partisi yang akan diarsipkan ke X-Engine.

TABLE_FORMAT

Format penyimpanan data X-Engine (opsional).

  • ROW (default): Penyimpanan baris.

  • COLUMN: Tabel berorientasi kolom.

Contoh

  • Arsipkan partisi p1 dari tabel partisi t1 ke format penyimpanan baris X-Engine:

    ALTER TABLE t1 CHANGE PARTITION p1 ENGINE = XEngine;
  • Arsipkan partisi p1 dari tabel partisi t1 ke tabel berorientasi kolom X-Engine:

    ALTER TABLE t1 CHANGE PARTITION p1 ENGINE = XEngine TABLE_FORMAT=COLUMN;

Kembalikan ke engine InnoDB

Sintaks

ALTER TABLE table_name REORGANIZE PARTITION part_name INTO (partition_definition);

Deskripsi parameter

Parameter

Deskripsi parameter

table_name

Nama tabel partisi hibrida.

part_name

Nama partisi yang akan dikembalikan ke engine InnoDB.

partition_definition

Harus sesuai dengan partition_definition asli dari partisi yang dikembalikan.

Catatan

Klausa ENGINE dalam definisi partisi bersifat opsional. Jika dihilangkan, mesin default adalah InnoDB—sama seperti mesin tabelnya. Jika ditentukan sebagai ENGINE=InnoDB, maka engine InnoDB yang digunakan.

Contoh

Kembalikan data dalam partisi p1 dari tabel partisi t1 yang telah diarsipkan dalam X-Engine kembali ke engine InnoDB.

ALTER TABLE t1 REORGANIZE PARTITION p1 INTO(PARTITION p1 VALUES LESS THAN(100));

Peluncuran

  • Praktik terbaik: Untuk menyeimbangkan biaya dan performa kueri, arsipkan hanya data hangat atau dingin dengan frekuensi akses rendah ke X-Engine. Untuk data intensif-tulis dengan potensi kompresi tinggi, seperti log atau data instrumentasi, gunakan format column store X-Engine (TABLE_FORMAT=COLUMN).

  • Mitigasi risiko: Migrasi data (ALTER TABLE) bersifat resource-intensive. Meskipun berjalan secara online, lakukan selama jam sepi untuk menghindari fluktuasi performa pada beban kerja produksi.

  • Monitoring dan alerting: Selama proses pengarsipan, gunakan perintah SHOW FULL PROCESSLIST; untuk melacak progres Data Definition Language (DDL). Selain itu, pantau metrik utama di Konsol, seperti penggunaan CPU, Input/Output Operations Per Second (IOPS), dan disk space.