本文由簡體中文內容自動轉碼而成。阿里雲不保證此自動轉碼的準確性、完整性及時效性。本文内容請以簡體中文版本為準。

開啟高壓縮引擎(X-Engine)

更新時間:2025-01-10 19:23

本文將為您詳細介紹如何開啟高壓縮引擎(X-Engine),以及開啟過程中所需的條件和相關注意事項。

前提條件

  • 核心版本需滿足以下條件:

    • 8.0.1.1.31及以上。

    • 8.0.2.2.12及以上。

    您可以通過查詢版本號碼來確認叢集版本。

  • 多主叢集(庫表)不支援開啟高壓縮引擎(X-Engine)

  • 叢集的讀寫(RW)節點規格不小於8 GB,且叢集中的唯讀(RO)節點的規格需大於或等於RW節點的規格。

  • 叢集未加入全球資料庫網路(GDN)。

注意事項

  • 高壓縮引擎(X-Engine)存在引擎以及大事物功能上存在相關限制。

    使用限制

    引擎功能限制
    大事務功能限制

    分類

    功能

    說明

    SQL功能

    外鍵

    不支援

    暫存資料表

    不支援

    Generated Column

    不支援

    Handler API

    不支援

    列屬性

    最大列長度(longblob/longtext/json)

    32 MB

    GIS地理資料類型

    不支援所有GIS相關資料類型(包含geometry、point、linestring、polygon、multipoint、multilinestring、multipolygon、geometrycollection)

    索引

    雜湊索引

    不支援

    空間索引

    不支援(所有與全文索引相關的建立、使用均不支援)

    事務

    交易隔離等級

    支援如下2個隔離等級:

    • 讀已提交(RC)

    • 可重複讀(RR)

    單個事務支援的最巨量資料量

    32 MB

    Savepoint

    不支援

    XA事務

    支援內部XA事務

    鎖粒度

    • 支援表層級鎖和行層級鎖

    • 不支援GAP鎖

    Skip Locked

    不支援

    Lock Nowait

    不支援

    字元集

    非索引列支援的字元集

    非索引列支援所有的字元集(校對規則)

    索引列支援的字元集

    • 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)

    主從複製

    Binlog格式

    支援如下3種格式:

    • stmt

    • row

    • mixed

    說明

    預設為row,採用stmt/mixed在特定並發情境可能存在資料安全性問題。

    說明

    對於X-Engine引擎中其他未列出的功能,預設其功能特性與InnoDB引擎相同。

    X-Engine目前不支援大事務。當一個事務修改的行數等於或大於10000行時,X-Engine會啟用commit in middle功能,即X-Engine會在內部提交該事務,並重新開啟一個子事務繼續執行該事務。但commit in middle並不能遵循嚴格意義上的事務原子性(Atomicity),因此您在使用過程中需要注意如下幾點:

    • 假設需要開啟一個事務插入大量資料,但在資料插入過程中,由於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); //插入12000行資料,觸發commit in middle,前10000行資料已經提交。
      rollback;// 復原只能把最後2000條資料復原。
      SELECT COUNT(*) FROM t1; // 這裡仍然能夠查詢到10000條資料。
      +----------+
      | COUNT(*) |
      +----------+
      |    10000 |
      +----------+
      1 row in set (0.00 sec)
    • 假設開啟一個需要修改且刪除大量資料的事務,由於commit in middle功能,DELETE操作讀不到本事務中新插入的行,導致新插入的資料未被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,導致delete操作沒有讀到本事務插入的行。
      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)

  1. 登入PolarDB控制台,選擇叢集所在地區,在叢集列表中單擊目的地組群ID進入詳情頁。

  2. 在左側導覽列選擇配置與管理 > 資料生命週期,並在X-Engine高壓縮引擎(溫資料)頁簽中單擊一鍵開啟

    說明

    若您未看到X-Engine高壓縮引擎(溫資料)頁簽,請檢查您的叢集是否滿足前提條件

  3. image

  4. 設定X-Engine比例對話方塊中,您可以根據實際業務情境自訂調整高壓縮引擎(X-Engine)的記憶體資源佔比,單擊立即開啟

    以下為您展示三種典型情境下的儲存引擎記憶體資源佔比配置,供您參考。您可根據實際業務情境進行配置。

    適用情境

    InnoDB引擎記憶體資源佔比(百分比)

    X-Engine記憶體資源佔比(百分比)

    適用情境

    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%。

方法二:在新購叢集時,選擇高壓縮引擎(X-Engine)

在新購PolarDB MySQL版時,您可以選擇儲存引擎為InnoDB & 高壓縮引擎,並調整高壓縮引擎比例。更多資訊,請參見購買叢集儲存引擎選項。

說明

開啟高壓縮引擎(X-Engine)後,您可以在叢集配置與管理 > 資料生命週期頁面的X-Engine高壓縮引擎(溫資料)頁簽中,根據實際業務情境隨時調整記憶體資源比例。

image

image

  • 本頁導讀 (1, M)
  • 前提條件
  • 注意事項
  • 操作步驟
  • 方法一:在已購買的叢集上一鍵開啟高壓縮引擎(X-Engine)
  • 方法二:在新購叢集時,選擇高壓縮引擎(X-Engine)
文檔反饋