All Products
Search
Document Center

PolarDB:Aktifkan X-Engine

Last Updated:Jun 22, 2026

Topik ini menjelaskan cara mengaktifkan High-Compression Engine (X-Engine), serta persyaratan dan tindakan pencegahan terkait.

Prasyarat

  • Versi kernel harus memenuhi kondisi berikut:

    • 8.0.1.1.31 atau yang lebih baru.

    • 8.0.2.2.12 atau yang lebih baru.

    Untuk memeriksa versi kluster Anda, lihat Memeriksa versi kernel.

  • Multi-master Cluster (Limitless) tidak mendukung High-Compression Engine (X-Engine).

  • Node primary kluster harus memiliki memori minimal 8 GB, dan setiap node read-only harus memiliki spesifikasi yang sama atau lebih tinggi daripada node primary.

  • Kluster tidak termasuk dalam global database network (GDN).

Catatan penggunaan

  • High-compression engine (X-Engine) memiliki keterbatasan terkait fitur mesin dan fungsionalitas transaksi besar.

    Keterbatasan

    Keterbatasan fitur mesin

    Kategori

    Fitur

    Deskripsi

    Fitur SQL

    foreign key

    Tidak didukung

    temporary table

    Tidak didukung

    generated column

    Tidak didukung

    handler API

    Tidak didukung

    Kolom dan properti kolom

    Jumlah maksimum kolom per tabel

    10.000

    panjang record maksimum

    256 MB

    Tipe data GIS

    X-Engine tidak mendukung semua tipe data terkait GIS, termasuk geometry, point, linestring, polygon, multipoint, multilinestring, multipolygon, dan geometrycollection.

    indeks

    hash index

    Tidak didukung

    spatial index

    Tidak didukung. Fitur untuk full-text indexes juga tidak didukung.

    transaksi

    tingkat isolasi transaksi

    Dua tingkat isolasi berikut didukung:

    • Read committed (RC)

    • Repeatable read (RR)

    Jumlah baris maksimum per transaksi

    Secara default, satu transaksi dapat berisi hingga 100.000 baris. Anda dapat mengubah batas ini dengan menggunakan parameter loose_xengine_bulk_load_size.

    savepoint

    Tidak didukung

    Transaksi XA

    Transaksi XA internal didukung.

    kunci

    granularitas kunci

    • Kunci tingkat tabel dan kunci tingkat baris didukung.

    • Gap lock tidak didukung.

    Skip Locked

    Tidak didukung

    Lock Nowait

    Tidak didukung

    set karakter

    Set karakter yang didukung untuk kolom non-indeks

    Semua set karakter dan aturan pengurutan didukung untuk kolom non-indeks.

    Set karakter yang didukung untuk kolom berindeks

    • latin1 (latin1_bin)

    • gbk (gbk_chinese_ci, gbk_bin)

    • utf8 (utf8_general_ci, utf8_bin)

    • utf8mb4 (utf8mb4_0900_ai_ci, utf8mb4_general_ci, utf8mb4_bin)

    replikasi primary/secondary

    format binary log

    Tiga format berikut didukung:

    • stmt

    • row

    • mixed

    Catatan

    Format default adalah row. Penggunaan format stmt atau mixed dapat mengompromikan keamanan data dalam skenario konkurensi tinggi tertentu.

    Catatan

    Untuk fitur apa pun yang tidak tercantum dalam topik ini, X-Engine berperilaku identik dengan InnoDB.

    Keterbatasan transaksi besar

    X-Engine tidak mendukung transaksi besar. Ketika suatu transaksi memodifikasi 10.000 baris atau lebih, X-Engine mengaktifkan fitur commit in middle. Fitur ini menyebabkan X-Engine melakukan commit internal terhadap transaksi saat ini dan memulai sub-transaksi baru untuk melanjutkan operasi. Namun, fitur commit in middle tidak menjamin atomisitas transaksi secara ketat. Perhatikan implikasi berikut:

    • Jika Anda memulai transaksi untuk menyisipkan volume data besar, fitur commit in middle mungkin melakukan commit sebagian data sebelum transaksi selesai. Data yang telah di-commit sebagian tersebut menjadi terlihat oleh transaksi konkuren lainnya.

    • Anda tidak dapat melakukan rollback penuh terhadap transaksi yang telah di-commit sebagian oleh fitur commit in middle.

      DROP TABLE t1;
      CREATE TABLE t1(c1 int primary key , c2 int)ENGINE=xengine;
      BEGIN;
      call insert_data(12000); // Sisipkan 12.000 baris untuk memicu commit in middle. 10.000 baris pertama di-commit.
      rollback;// Operasi rollback hanya dapat membatalkan 2.000 baris terakhir.
      SELECT COUNT(*) FROM t1; // Kueri tetap menemukan 10.000 baris yang telah di-commit.
      +----------+
      | COUNT(*) |
      +----------+
      |    10000 |
      +----------+
      1 row in set (0.00 sec)
    • Karena fitur commit in middle, jika suatu transaksi menyisipkan lalu menghapus sejumlah besar baris, operasi DELETE mungkin tidak melihat baris yang baru saja disisipkan.

      DROP TABLE t1;
      CREATE TABLE t1(c1 int primary key , c2 int)ENGINE=xengine;
      call insert_data(10000);
      BEGIN;
      INSERT INTO t1 VALUES(10001,10001), (10002,10002);
      DELETE FROM t1 WHERE c1 >= 0; // Operasi DELETE memicu commit in middle, sehingga melewatkan baris yang disisipkan dalam transaksi yang sama.
      commit;
      SELECT * FROM t1;
      +-------+-------+
      | c1    | c2    |
      +-------+-------+
      | 10001 | 10001 |
      | 10002 | 10002 |
      +-------+-------+
      2 rows in set (0.00 sec)
  • Mengaktifkan High-Compression Engine (X-Engine) akan secara otomatis melakukan restart kluster. Proses restart menyebabkan gangguan koneksi yang berlangsung hingga 30 detik. Kami menyarankan Anda melakukan operasi ini selama jam sepi dan memastikan aplikasi Anda memiliki mekanisme reconnect.

  • Setelah Anda mengaktifkan X-Engine:

    • Untuk mencegah pengecualian akses pada tabel yang disimpan di high-compression engine (X-Engine), Anda tidak dapat menonaktifkan fitur ini.

    • Kluster tidak dapat bergabung ke dalam GDN.

Prosedur

Anda dapat mengaktifkan X-Engine dengan salah satu dari dua cara berikut.

Metode 1: Untuk kluster yang sudah ada

  1. Masuk ke PolarDB console. Di panel navigasi kiri, klik Clusters. Pilih wilayah kluster, lalu klik ID kluster untuk membuka halaman detail kluster.

  2. Di panel navigasi kiri, pilih Settings and Management > > Data Lifecycle. Di tab Data Lifecycle, klik Enable.

    Catatan

    Jika Anda tidak melihat tab Data Lifecycle, periksa apakah kluster Anda memenuhi prasyarat.

    Klik tab X-Engine (Warm Data). Notifikasi pada halaman menyatakan bahwa X-Engine tidak dapat dinonaktifkan setelah diaktifkan, dan pengaktifannya memerlukan restart kluster yang dapat menyebabkan gangguan sementara hingga 30 detik. Halaman ini juga menampilkan tiga pemeriksaan prasyarat: node primary memiliki memori minimal 8 GB, spesifikasi setiap node read-only lebih besar atau sama dengan node primary, dan kluster tidak termasuk dalam GDN. Anda hanya dapat melanjutkan jika semua kondisi terpenuhi.

  3. Pada dialog box > Data Lifecycle, Anda dapat menyesuaikan proporsi memori X-Engine sesuai kebutuhan bisnis dan klik Enable Now.

    Tabel berikut mencantumkan konfigurasi proporsi memori yang direkomendasikan untuk tiga kasus penggunaan umum. Anda dapat menyesuaikan konfigurasi sesuai beban kerja spesifik Anda.

    Kasus penggunaan

    Memori InnoDB (%)

    Memori X-Engine (%)

    InnoDB menyimpan data hangat dan X-Engine menyimpan data dingin. Data dingin yang diarsipkan jarang diakses.

    80

    20

    InnoDB menyimpan data panas, sedangkan X-Engine menyimpan data hangat. Data hangat yang diarsipkan tetap dapat diperbarui atau dikueri.

    50

    50

    InnoDB menyimpan jumlah kecil tabel dan X-Engine menyimpan jumlah besar tabel. Data di kedua mesin aktif diperbarui atau dikueri.

    20

    80

    Catatan
    • Setelah Anda mengaktifkan X-Engine, Anda dapat menyesuaikan proporsi memori kapan saja sesuai beban kerja spesifik Anda di tab Data Lifecycle pada halaman Settings and Management > > Data Lifecycle.

    • Anda dapat mengatur proporsi memori untuk X-Engine antara 10% hingga 90%. Jika Anda menggunakan X-Engine untuk semua tabel dan tidak memiliki tabel InnoDB, Anda dapat mengatur proporsi memori X-Engine menjadi 90%.

Metode 2: Untuk kluster baru

Saat membeli kluster PolarDB for MySQL, Anda dapat mengatur InnoDB & X-Engine sebagai mesin penyimpanan dan menyesuaikan proporsi memori untuk X-Engine. Untuk informasi selengkapnya, lihat opsi Storage Engine dalam Membeli kluster.

Catatan

Setelah Anda mengaktifkan X-Engine, Anda dapat menyesuaikan proporsi memori kapan saja sesuai beban kerja spesifik Anda di tab Data Lifecycle pada halaman Settings and Management > > Data Lifecycle.

Pada bagian Enable X-Engine proportion, gunakan slider untuk mengatur proporsi memori antara X-Engine dan InnoDB. Rentangnya antara 10% hingga 90%. Misalnya, jika Anda mengaturnya menjadi 50%, petunjuk di bawahnya menampilkan X-Engine: 4 GB; InnoDB: 4 GB.

Pilih tab X-Engine (Warm Data). Di area proporsi X-Engine, klik Edit untuk menyesuaikan proporsinya.