すべてのプロダクト
Search
ドキュメントセンター

PolarDB:X-Engine の有効化

最終更新日:Sep 25, 2026

このトピックでは、X-Engine エディション を有効にする方法、および有効化の条件と注意事項について説明します。

前提条件

  • エンジンバージョンは、次の要件を満たす必要があります。

    • 8.0.1.1.31 以降。

    • 8.0.2.2.12 以降。

    クラスターのバージョンを確認するには、「バージョン番号の照会」をご参照ください。

  • マルチマスタークラスター (Limitless) は X-Engine エディション の有効化をサポートしていません。

  • クラスターの読み書き (RW) ノードの仕様は 8 GB 以上である必要があります。 クラスター内の読み取り専用 (RO) ノードの仕様は、RW ノードの仕様以上である必要があります。

  • クラスターがグローバルデータベースネットワーク (GDN) に参加していないこと。

使用上の注意

  • X-Engine エディション には、エンジン機能と大規模トランザクションに関する制限があります。

    制限

    エンジン機能の制限事項

    カテゴリ

    機能

    説明

    SQL 機能

    外部キー

    サポートされていません

    一時テーブル

    サポートされていません

    生成カラム

    サポートされていません

    handler API

    サポートされていません

    カラムとカラムプロパティ

    テーブルあたりの最大カラム数

    10,000

    最大レコード長

    256 MB

    GIS データ型

    X-Engine は、geometry、point、linestring、polygon、multipoint、multilinestring、multipolygon、geometrycollection といった GIS 関連のデータ型をサポートしていません。

    インデックス

    ハッシュインデックス

    サポートされていません

    空間インデックス

    サポートされていません。全文検索インデックスの機能もサポートされていません。

    トランザクション

    トランザクション分離レベル

    次の 2 つの分離レベルをサポートしています:

    • リードコミッティド (RC)

    • リピータブルリード (RR)

    トランザクションあたりの最大行数

    デフォルトでは、単一のトランザクションに最大 100,000 行を含めることができます。この制限は、loose_xengine_bulk_load_size パラメーターを使用して変更できます。

    セーブポイント

    サポートされていません

    XA トランザクション

    内部 XA トランザクションをサポートしています。

    ロック

    ロックの粒度

    • テーブルレベルロックと行レベルロックをサポートしています。

    • ギャップロックはサポートされていません。

    Skip Locked

    サポートされていません

    Lock Nowait

    サポートされていません

    文字セット

    インデックスなしカラムでサポートされる文字セット

    インデックスのないカラムでは、すべての文字セットと照合順序をサポートしています。

    インデックス付きカラムでサポートされる文字セット

    • latin1 (latin1_bin)

    • gbk (gbk_chinese_ci, gbk_bin)

    • utf8 (utf8_general_ci, utf8_bin, utf8_unicode_ci)

    • utf8mb4 (utf8mb4_0900_ai_ci, utf8mb4_general_ci, utf8mb4_bin, utf8mb4_unicode_ci)

    プライマリ/セカンダリレプリケーション

    バイナリログ形式

    次の 3 つの形式をサポートしています:

    • stmt

    • row

    • mixed

    説明

    デフォルトの形式は row です。stmt または mixed 形式を使用すると、特定の高同時実行シナリオでデータセキュリティが損なわれる可能性があります。

    説明

    このトピックに記載されていない機能については、X-Engine は InnoDB と同じように動作します。

    大規模トランザクションの制限事項

    X-Engine は大規模トランザクションをサポートしていません。トランザクションが 10,000 行以上を変更すると、X-Engine は commit in middle 機能を有効にします。この機能により、X-Engine は現在のトランザクションを内部的にコミットし、新しいサブトランザクションを開始して操作を続行します。ただし、commit in middle はトランザクションの原子性を厳密には保証しません。以下の影響にご注意ください。

    • 大量のデータを挿入するトランザクションを開始した場合、commit in middle 機能は、トランザクションが完了する前にデータの一部をコミットする可能性があります。この部分的にコミットされたデータは、他の同時実行トランザクションに対して可視になります。

    • commit in middle 機能によって一部がコミットされたトランザクションを、完全にロールバックすることはできません。

      DROP TABLE t1;
      CREATE TABLE t1(c1 int primary key , c2 int)ENGINE=xengine;
      BEGIN;
      call insert_data(12000); // 12,000 行を挿入して commit in middle をトリガーします。最初の 10,000 行がコミットされます。
      rollback;                 // ロールバック操作では、最後の 2,000 行のみがロールバックされます。
      SELECT COUNT(*) FROM t1; // クエリはコミット済みの 10,000 行を検出します。
      +----------+
      | COUNT(*) |
      +----------+
      |    10000 |
      +----------+
      1 row in set (0.00 sec)
    • commit in middle 機能により、トランザクションで大量の行を挿入した後に削除すると、DELETE 操作で新しく挿入された行が参照されない場合があります。

      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; // DELETE 操作が commit in middle をトリガーし、同じトランザクション内で挿入された行を見逃します。
      commit;
      SELECT * FROM t1;
      +-------+-------+
      | c1    | c2    |
      +-------+-------+
      | 10001 | 10001 |
      | 10002 | 10002 |
      +-------+-------+
      2 rows in set (0.00 sec)
  • X-Engine エディション を有効にすると、クラスターが自動的に再起動されます。 再起動中に、最大 30 秒の接続断が一時的に発生します。 ベストプラクティスとして、この操作はオフピーク時に実行し、アプリケーションに再接続メカニズムがあることを確認してください。

  • X-Engine エディション を有効にした後:

    • すでに X-Engine エディション に格納されているテーブルへのアクセスエラーを避けるため、この機能は無効にできません。

    • グローバルデータベースネットワーク (GDN) への参加はサポートされていません。

パラメーター

X-Engine エディション を有効にした後、パーティションテーブルのパーティションを X-Engine フォーマットにアーカイブする必要がある場合は、クラスターの パラメーター ページで次のカーネルパラメーターを手動で設定する必要があります。 ハイブリッドパーティションの完全なパラメーターの説明と使用制限については、「ハイブリッドパーティションの作成」をご参照ください。

パラメーター

レベル

説明

loose_polar_allow_create_hybrid_partition

グローバル

InnoDB 以外のエンジンのパーティションを含むパーティションテーブルの作成またはアーカイブを許可するかどうかを指定します。 有効な値:

  • OFF (デフォルト): InnoDB 以外のエンジンのパーティションを含むパーティションテーブルの作成は許可されません。 すべてのパーティションで InnoDB エンジンを使用する必要があります。

  • ON (推奨): InnoDB 以外のエンジンのパーティションを含むパーティションテーブルの作成が許可されます。 パーティションレベルで X-Engine エンジンを指定できます。

説明

上記のパラメーターは、バージョン 8.0.2、リビジョンバージョン 8.0.2.2.34.1 以降のクラスターにのみ適用されます。

操作手順

高圧縮エンジン (X-Engine) は、次の 2 つの方法のいずれかを使用して有効にできます。

方法 1: 既存のクラスターでワンクリックで高圧縮エンジン (X-Engine) を有効にする

  1. PolarDB コンソールにログインし、ナビゲーションペインで クラスター をクリックします。 クラスターがデプロイされている [リージョン] を選択し、クラスター ID をクリックしてクラスターの詳細ページに移動します。

  2. ナビゲーションペインで 設定と管理 > データのライフサイクル を選択し、X-Engine (ホットデータ) タブで 有効化 をクリックします。

  3. 説明
    • X-Engine (ホットデータ) タブが表示されない場合は、クラスターが前提条件を満たしているか確認してください。

    • クラスターで高圧縮ストレージエンジンが有効になると、無効にすることはできません。 有効化するにはクラスターの再起動が必要で、その間に最大 30 秒の接続断が一時的に1〜2 回発生します。

  4. ダイアログボックスで、ビジネスシナリオに基づいて X-Engine エディション のメモリリソースの割合をカスタマイズし、今すぐ SQL 監査を有効にしてください。 をクリックします。

    次の表に、参考として 3 つの典型的なシナリオにおけるストレージエンジンのメモリリソースの割合の設定を示します。 実際のビジネスシナリオに基づいて割合を設定できます。

    適用シナリオ

    InnoDB エンジンのメモリリソースの割合 (%)

    X-Engine のメモリリソースの割合 (%)

    InnoDB エンジンはホットデータを格納し、X-Engine エンジンはコールドデータを格納し、アーカイブされたコールドデータへのアクセスはほとんどありません。

    80

    20

    InnoDB エンジンはホットデータを格納し、X-Engine エンジンはコールドデータを格納し、アーカイブされたコールドデータは引き続き更新またはクエリされます。

    50

    50

    InnoDB エンジンは少数のテーブルを格納し、X-Engine エンジンは多数のテーブルを格納し、データは更新またはクエリされます。

    20

    80

    説明
    • 高圧縮エンジン (X-Engine) を有効にした後、クラスターの 設定と管理 > データのライフサイクル ページの X-Engine (ホットデータ) タブで、ビジネスシナリオに基づいていつでもメモリリソースの割合を調整できます。

    • X-Engine のメモリリソースの割合は 10% から 90% の範囲で設定できます。 X-Engine エンジンを使用してすべてのテーブルを格納し、InnoDB エンジンテーブルがない場合は、X-Engine のメモリリソースの割合を 90% に設定できます。

方法 2: 新しいクラスターを購入するときに高圧縮エンジン (X-Engine) を選択する

新しい PolarDB for MySQL クラスターを購入するときに、ストレージエンジンを [InnoDB & X-Engine] に設定し、X-Engine の割合 のスライダーを使用して X-Engine と InnoDB の間のストレージの割合を設定できます。 範囲は 10% から 90% です。 たとえば、値が 50% に設定されている場合、下のプロンプトには X-Engine:4 GB;InnoDB:4 GB と表示されます。 [ストレージエンジン] オプションの詳細については、「クラスターの購入」をご参照ください。

説明

高圧縮エンジン (X-Engine) を有効にした後、クラスターの 設定と管理 > データのライフサイクル ページの X-Engine (ホットデータ) タブで、ビジネスシナリオに基づいていつでもメモリリソースの割合を調整できます。