All Products
Search
Document Center

PolarDB:Arsipkan ke format X-Engine

Last Updated:Aug 01, 2026

Seiring pertumbuhan data bisnis, menyimpan seluruh data—termasuk data hangat dan dingin yang jarang diakses—dalam tabel InnoDB standar menyebabkan biaya penyimpanan terus meningkat. Di sisi lain, mengarsipkan data tersebut ke penyimpanan eksternal mengorbankan kemampuan akses baca, tulis, dan analitis secara online. PolarDB for MySQL menyediakan tiering data berbasis X-Engine. Anda dapat mengonversi seluruh tabel atau partisi tertentu dalam suatu tabel ke X-Engine berkompresi tinggi, sehingga InnoDB (data panas) dan X-Engine (data hangat atau dingin) dapat berada dalam satu tabel yang sama. Pendekatan ini mengurangi biaya penyimpanan sekaligus mempertahankan akses data online, dan data dalam X-Engine tetap mendukung operasi DML serta perubahan skema DDL online.

Cara kerja

Fitur partisi hibrida dari PolarDB for MySQL memungkinkan partisi-partisi berbeda dalam satu tabel partisi menggunakan mesin penyimpanan yang berbeda. Fitur ini bekerja sebagai berikut:

  • Tiering data: Simpan partisi data "panas" yang sering diakses di engine InnoDB untuk performa baca-tulis optimal, dan migrasikan partisi data "hangat" atau "dingin" yang jarang diakses ke engine 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. Seluruh proses ini transparan bagi lapisan aplikasi.

  • Rasio kompresi tinggi: Engine X-Engine, melalui algoritma kompresi canggihnya dan format column store opsional, memberikan rasio kompresi data yang sangat tinggi. Hal ini secara signifikan mengurangi penggunaan penyimpanan fisik dan menekan biaya.

Lingkup penerapan

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

  • Mengarsipkan tabel standar:

    • MySQL 8.0.1 dengan revisi 8.0.1.1.31 atau lebih baru.

    • MySQL 8.0.2 dengan revisi 8.0.2.2.12 atau lebih baru.

  • Mengarsipkan tabel partisi: MySQL 8.0.2 dengan revisi 8.0.2.2.12 atau lebih baru.

  • Mengarsipkan ke tabel column-store X-Engine: MySQL 8.0.2 dengan revisi 8.0.2.2.34.1 atau lebih baru.

Persiapan

Sebelum mulai mengarsipkan data, lengkapi persiapan berikut.

  1. Aktifkan X-Engine: Jadikan tersedia sebagai opsi mesin penyimpanan untuk tabel atau partisi.

  2. Untuk mengarsipkan tabel partisi sebagai tabel partisi hibrida, kondisi berikut harus dipenuhi:

    • MySQL 8.0.2 dan versi minornya 8.0.2.2.34.1 atau lebih baru. Anda harus mengatur parameter loose_allow_create_hybrid_partition ke ON.

    • MySQL 8.0.2 dan versi minornya lebih awal dari 8.0.2.2.34.1. Lakukan upgrade ke versi minor yang lebih baru.

Arsipkan tabel standar

Konversi data dan mesin penyimpanan seluruh tabel non-partisi dari InnoDB ke X-Engine.

Sintaks

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

Parameter

Parameter

Deskripsi

table_name

Nama tabel yang akan diarsipkan ke X-Engine.

engine_name

Nama mesin penyimpanan.

  • XEngine: arsipkan ke format row store X-Engine.

  • InnoDB: kembalikan ke engine InnoDB.

TABLE_FORMAT

Opsional. Format penyimpanan data X-Engine.

  • 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 dalam tabel partisi—biasanya partisi lama yang menyimpan data dingin—ke X-Engine. Hal ini menerapkan penyimpanan tiered untuk data panas dan dingin, dan tabel hasilnya menjadi tabel partisi hibrida.

Sintaks

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

Parameter

Parameter

Deskripsi

table_name

Nama tabel yang akan diarsipkan ke X-Engine.

part_name

Nama partisi yang akan diarsipkan ke X-Engine.

TABLE_FORMAT

Opsional. Format penyimpanan data X-Engine.

  • ROW (default): row store.

  • COLUMN: tabel berorientasi kolom.

Contoh

  • Arsipkan partisi p1 dari tabel partisi t1 ke format row store 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);

Parameter

Parameter

Deskripsi

table_name

Nama tabel partisi hibrida.

part_name

Nama partisi yang akan dikembalikan ke engine InnoDB.

partition_definition

Harus konsisten dengan partition_definition partisi yang akan dikembalikan.

Catatan

Klausa ENGINE dalam definisi partisi bersifat opsional. Jika nama engine tidak ditentukan, engine default yang digunakan adalah InnoDB, sama seperti tabel induknya. Jika ENGINE=InnoDB ditentukan, maka engine InnoDB yang digunakan.

Contoh

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

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

Penerapan di lingkungan produksi

  • Praktik terbaik: Arsipkan hanya data hangat dan dingin dengan frekuensi akses rendah ke X-Engine untuk mencapai keseimbangan optimal antara biaya dan performa kueri. Untuk data yang intensif tulis dengan potensi kompresi tinggi (seperti log dan data instrumentasi), pilih format column store X-Engine (TABLE_FORMAT=COLUMN).

  • Mitigasi risiko: Migrasi data (ALTER TABLE) merupakan operasi yang intensif resource. Meskipun berjalan secara online, kami merekomendasikan untuk melakukannya pada jam sepi guna menghindari fluktuasi performa pada beban kerja produksi.

  • Pemantauan dan peringatan: Selama proses pengarsipan, Anda dapat menjalankan SHOW FULL PROCESSLIST; untuk melacak progres operasi DDL. Secara bersamaan, pantau secara ketat metrik utama seperti penggunaan CPU, IOPS, dan kapasitas disk kluster di Konsol.