全部產品
Search
文件中心

AnalyticDB:XUANWU_V2引擎介紹

更新時間:May 31, 2025

本文為您介紹AnalyticDB for MySQL表引擎(XUANWU_V2)和相關組件(Compaction Service)的使用方法。

前提條件

關於XUANWU_V2引擎

玄武(XUANWU)分析儲存引擎是AnalyticDB for MySQL實現高吞吐即時寫入、高效能即時查詢的儲存引擎。XUANWU_V2作為新一代儲存引擎具有如下特點:

  • 儲存介質:將資料全部儲存在Object Storage Service上,利用雲端硬碟作為Cache。這種設計提供更低的儲存成本,同時兼顧了查詢效能。實現了更快的水平擴容和更高的彈性效率。

  • 儲存格式:採用新一代列式儲存,記憶體使用量、磁碟I/O控制上更加精細,I/O並發度更高且佔用記憶體更少,提升了查詢速度並減少了GC對線上業務的影響。

  • 獨立的Compaction組件:將資源消耗較高的Compaction操作放到獨立的Compaction Service中,提高了線上業務查詢和寫入的穩定性,同時增強了Compaction吞吐能力和資源調度的靈活性。

使用限制

  • XUANWU_V2引擎的某些功能尚未完全對齊XUANWU引擎,詳情如下:

    對比項

    XUANWU引擎

    XUANWU_V2引擎

    普通索引

    預設全列索引(INDEX_ALL='Y')。

    預設只為主鍵建立索引,其他列不建立索引(INDEX_ALL='N')。

    說明

    全列索引建立及修改方法:

    • 建表前:在叢集全域配置SET ADB_CONFIG XUANWUV2_DEFAULT_INDEX_ALL=true,為當前及後續建立表建立全列索引。

    • 建表時:CREATE TABLE語句中顯式指定INDEX_ALL='Y',為當前表建立全列索引。

    • 建表後:執行ALTER TABLE語句,為已有表修改全列索引行為。

    向量索引

    支援

    不支援

    Binlog

    支援

    不支援

    Spark彈性匯入能力

    支援

    不支援

  • XUANWU引擎和XUANWU_V2引擎不支援相互切換。如果您有該需求,需要重建立表並遷移原表資料。

    例如:test表的表引擎為XUANWU_V2,不支援切換成XUANWU引擎,您可以建立表引擎為XUANWU的表,並將test表的資料移轉至新表。

費用說明

XUANWU_V2表預設均為熱資料,按照熱資料存放區空間計費。若設定了資料冷熱分離,則按照熱資料和冷資料佔用的儲存空間計費。定價詳情,請參見企業版、基礎版產品定價湖倉版產品定價

說明

您可以登入雲原生資料倉儲AnalyticDB MySQL控制台,在空間總覽頁面查看錶引擎為XUANWU_V2的表所佔用的資料存放區空間。詳情請參見查看錶的資料量

指定表引擎

核心版本3.2.2.0及以上的叢集,表引擎預設為XUANWU_V2。您可以通過以下命令修改叢集層級和表層級預設的表引擎。

叢集全域配置

全域配置會作用於整個叢集。命令如下:

SET ADB_CONFIG RC_DDL_ENGINE_REWRITE_XUANWUV2=false|true;

取值說明:

  • true(預設值):存量表的表引擎不變,建立表的表引擎均為XUANWU_V2。即使在建立表時顯式指定ENGINE=XUANWU,也會自動將其改寫為XUANWU_V2。

    說明

    如果您想要建立XUANWU引擎的表,可以在建表語句前添加/* RC_DDL_ENGINE_REWRITE_XUANWUV2=false */

  • false:存量表的表引擎不變,建立表的表引擎預設均為XUANWU。如果想建立XUANWU_V2表,需要顯式指定ENGINE=XUANWU_V2或在建表語句前添加/* RC_DDL_ENGINE_REWRITE_XUANWUV2=true */

查詢表引擎全域配置

SHOW ADB_CONFIG KEY=RC_DDL_ENGINE_REWRITE_XUANWUV2;

表層級配置

重要

僅核心版本3.2.2.12及以上(除3.2.3.1和3.2.3.2版本外)的叢集支援表層級配置。

表層級配置僅作用於當前建表語句,且優先順序高於全域配置。

/* RC_DDL_ENGINE_REWRITE_XUANWUV2=false|true */

取值說明:

  • true:存量表的表引擎不變,僅當前SQL所建立的表引擎預設為XUANWU_V2。即使在建立該表時顯式指定ENGINE=XUANWU,也會自動將其改寫為XUANWU_V2。

  • false:存量表的表引擎不變,當前SQL所建立的表引擎預設為XUANWU。如果想建立XUANWU_V2表,需要顯式指定ENGINE=XUANWU_V2

開啟雲端硬碟緩衝形態

警告

開啟雲端硬碟緩衝形態後,叢集會自動重啟,可能會導致串連閃斷,請在業務低峰期執行並確保您的應用有重連機制。

XUANWU_V2表的冷資料存放區在OSS上,開啟雲端硬碟緩衝形態後,可以通過設定的Cache來提高XUANWU_V2冷資料的隨機讀取效能。Cache按照您設定的雲端硬碟緩衝空間計費。

開啟雲端硬碟緩衝形態後,不建議關閉,關閉後會導致效能嚴重回退。

  1. 登入雲原生資料倉儲AnalyticDB MySQL控制台,在左上方選擇叢集所在地區。在左側導覽列,單擊集群清單,然後單擊目的地組群ID。

  2. 集群資訊頁簽的配寘資訊部分,單擊集群查詢加速配置旁邊的設置

  3. 雲盤緩存形態頁簽下,單擊image按鈕,並設定Cache大小。

說明

在開啟雲盤緩存形態後,您也可以通過上述步驟查看Cache大小。

開啟Compaction Service

Compaction Service是獨立的資源集區,用於將在本地的Compaction轉移到獨立進程中執行,從而降低對線上業務的資源佔用,提升穩定性。該功能為可選功能,預設關閉。開啟後隨用隨付,可自由關閉。計費詳情,請參見企業版、基礎版產品定價湖倉版產品定價

推薦具備如下特徵的業務優先開啟:

  • 線上CPU使用率和記憶體使用量率已經較高。

  • 業務受周期性調度的壓縮操作影響較大。

操作步驟

  1. 登入雲原生資料倉儲AnalyticDB MySQL控制台,在左上方選擇叢集所在地區。在左側導覽列,單擊集群清單,然後單擊目的地組群ID。

  2. 集群資訊頁簽的配寘資訊部分,單擊集群查詢加速配置旁邊的設置

  3. 遠程Build服務頁簽下,單擊image按鈕,開啟服務。