XUANWU_V2引擎介紹
本文為您介紹云原生數(shù)據(jù)倉庫 AnalyticDB MySQL 版表引擎(XUANWU_V2)和相關(guān)組件(Compaction Service)的使用方法。
前提條件
集群的產(chǎn)品系列為企業(yè)版、基礎(chǔ)版或湖倉版。
內(nèi)核為3.2.1及以上版本。
如何查看集群的內(nèi)核版本,請參見購買、變配與升級。
背景信息
玄武分析存儲引擎是AnalyticDB for MySQL實現(xiàn)高吞吐實時寫入、高性能實時查詢的基礎(chǔ)支撐,默認(rèn)指定引擎為XUANWU
。AnalyticDB for MySQL基于V3.2.0版本,在原有存儲引擎基礎(chǔ)上迭代研發(fā)了新一代存儲引擎XUANWU_V2
,該引擎的特點在于:
存儲介質(zhì):將數(shù)據(jù)全部存儲在對象存儲上,利用云盤作為Cache。提供更低的存儲成本,同時兼顧了查詢性能。水平擴容的速度更快、彈性效率更高。
存儲格式:在原有存儲格式上研發(fā)了新一代列式存儲,內(nèi)存使用、磁盤I/O控制上更加精細(xì),I/O并發(fā)度更高且占用內(nèi)存更少,提升了查詢速度并減少了GC對于在線業(yè)務(wù)穩(wěn)定性的影響。
獨立的Compaction組件:將LSM Tree中耗費資源的Compaction操作放到獨立組件Compaction Service中進(jìn)行,增強了線上業(yè)務(wù)查詢、寫入的穩(wěn)定性,同時提供了更高的Compaction吞吐能力、更靈活的資源調(diào)度能力。
使用限制
XUANWU_V2
引擎部分功能尚未完全與XUANWU
引擎對齊,包括:
尚不支持部分復(fù)合數(shù)據(jù)類型及復(fù)雜索引類型:JSON類型、Array類型、Map類型、全文索引(Fulltext Index)、向量索引(Vector Index)、JSON索引(JSON Index)。
尚不支持備份恢復(fù)。
尚不支持Binlog。
尚未集成Spark彈性導(dǎo)入能力。
費用說明
如果指定表引擎為XUANWU_V2,則會產(chǎn)生冷數(shù)據(jù)存儲費用。定價詳情,請參見企業(yè)版和基礎(chǔ)版產(chǎn)品定價和湖倉版產(chǎn)品定價。
您可以登錄云原生數(shù)據(jù)倉庫AnalyticDB MySQL控制臺,在空間總覽頁面查看表引擎為XUANWU_V2的表所占用的冷數(shù)據(jù)存儲空間。詳情請參見查看表的數(shù)據(jù)量。
開啟云盤緩存形態(tài)
開啟云盤緩存形態(tài)后,您可以設(shè)置Cache類型及大小來提高數(shù)據(jù)的隨機讀取性能。
登錄云原生數(shù)據(jù)倉庫AnalyticDB MySQL控制臺,在左上角選擇集群所在地域。在左側(cè)導(dǎo)航欄,單擊集群列表。在集群列表上方,選擇產(chǎn)品系列,然后單擊目標(biāo)集群ID。
在集群信息頁簽的配置信息部分,單擊集群查詢加速配置旁邊的設(shè)置。
單擊云盤緩存形態(tài)設(shè)置Cache類型及大小。
重要僅指定表引擎為XUANWU_V2時需要開啟云盤緩存形態(tài)。
不建議關(guān)閉云盤緩存形態(tài),關(guān)閉后會導(dǎo)致性能嚴(yán)重回退。
指定表引擎為XUANWU_V2
開啟云盤緩存形態(tài)后,建表時可以指定ENGINE為XUANWU_V2
。
若未顯式指定ENGINE,則默認(rèn)取值為
XUANWU
。如果在創(chuàng)建內(nèi)表時顯式指定了
ENGINE='XUANWU'
,則需同時顯示指定table_properties='{"format":"columnstore"}'
,否則建表會失敗。建表時指定表的引擎后,不可更改。
建表可參考以下示例:
CREATE TABLE customer (
customer_id bigint NOT NULL COMMENT '顧客ID',
customer_name varchar NOT NULL COMMENT '顧客姓名',
phone_num bigint NOT NULL COMMENT '電話',
login_time timestamp NOT NULL COMMENT '登錄時間',
PRIMARY KEY (login_time,customer_id,phone_num)
)
ENGINE = 'XUANWU_V2'
DISTRIBUTED BY HASH(customer_id)
PARTITION BY VALUE(DATE_FORMAT(login_time, '%Y%m%d')) LIFECYCLE 30
COMMENT '客戶信息表';
詳細(xì)的建表方法,請參見CREATE TABLE。
開啟Compaction Service
Compaction Service是獨立的資源池,用于將在本地的Compaction轉(zhuǎn)移到獨立進(jìn)程中執(zhí)行,從而降低對線上業(yè)務(wù)的資源占用,提升穩(wěn)定性。該功能為可選功能,默認(rèn)關(guān)閉。開啟后按量計費,可自由關(guān)閉。計費詳情,請參見企業(yè)版和基礎(chǔ)版產(chǎn)品定價和湖倉版產(chǎn)品定價。
推薦具備如下特征的業(yè)務(wù)優(yōu)先開啟:
線上CPU使用率和內(nèi)存使用率已經(jīng)較高。
業(yè)務(wù)受周期性調(diào)度的壓縮操作影響較大。
操作步驟
登錄云原生數(shù)據(jù)倉庫AnalyticDB MySQL控制臺,在左上角選擇集群所在地域。在左側(cè)導(dǎo)航欄,單擊集群列表。在集群列表上方,選擇產(chǎn)品系列,然后單擊目標(biāo)集群ID。
在集群信息頁簽的配置信息部分,單擊集群查詢加速配置旁邊的設(shè)置。
單擊遠(yuǎn)程Build服務(wù)開啟服務(wù)。