XUANWU_V2引擎介绍
本文为您介绍云原生数据仓库 AnalyticDB MySQL 版表引擎(XUANWU_V2)和相关组件(Compaction Service)的使用方法。
前提条件
集群的产品系列为企业版、基础版或湖仓版。
内核为3.2.1及以上版本。
如何查看集群的内核版本,请参见购买、变配与升级。
背景信息
玄武分析存储引擎是AnalyticDB for MySQL实现高吞吐实时写入、高性能实时查询的基础支撑,默认指定引擎为XUANWU
。AnalyticDB for MySQL基于V3.2.0版本,在原有存储引擎基础上迭代研发了新一代存储引擎XUANWU_V2
,该引擎的特点在于:
存储介质:将数据全部存储在对象存储上,利用云盘作为Cache。提供更低的存储成本,同时兼顾了查询性能。水平扩容的速度更快、弹性效率更高。
存储格式:在原有存储格式上研发了新一代列式存储,内存使用、磁盘I/O控制上更加精细,I/O并发度更高且占用内存更少,提升了查询速度并减少了GC对于在线业务稳定性的影响。
独立的Compaction组件:将LSM Tree中耗费资源的Compaction操作放到独立组件Compaction Service中进行,增强了线上业务查询、写入的稳定性,同时提供了更高的Compaction吞吐能力、更灵活的资源调度能力。
使用限制
XUANWU_V2
引擎部分功能尚未完全与XUANWU
引擎对齐,包括:
尚不支持部分复合数据类型及复杂索引类型:JSON类型、Array类型、Map类型、全文索引(Fulltext Index)、向量索引(Vector Index)、JSON索引(JSON Index)。
尚不支持备份恢复。
尚不支持Binlog。
尚未集成Spark弹性导入能力。
费用说明
如果指定表引擎为XUANWU_V2,则会产生冷数据存储费用。定价详情,请参见企业版和基础版产品定价和湖仓版产品定价。
您可以登录云原生数据仓库AnalyticDB MySQL控制台,在空间总览页面查看表引擎为XUANWU_V2的表所占用的冷数据存储空间。详情请参见查看表的数据量。
开启云盘缓存形态
开启云盘缓存形态后,您可以设置Cache类型及大小来提高数据的随机读取性能。
登录云原生数据仓库AnalyticDB MySQL控制台,在左上角选择集群所在地域。在左侧导航栏,单击集群列表。在集群列表上方,选择产品系列,然后单击目标集群ID。
在集群信息页签的配置信息部分,单击集群查询加速配置旁边的设置。
单击云盘缓存形态设置Cache类型及大小。
重要仅指定表引擎为XUANWU_V2时需要开启云盘缓存形态。
不建议关闭云盘缓存形态,关闭后会导致性能严重回退。
指定表引擎为XUANWU_V2
开启云盘缓存形态后,建表时可以指定ENGINE为XUANWU_V2
。
若未显式指定ENGINE,则默认取值为
XUANWU
。如果在创建内表时显式指定了
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 '客户信息表';
详细的建表方法,请参见CREATE TABLE。
开启Compaction Service
Compaction Service是独立的资源池,用于将在本地的Compaction转移到独立进程中执行,从而降低对线上业务的资源占用,提升稳定性。该功能为可选功能,默认关闭。开启后按量计费,可自由关闭。计费详情,请参见企业版和基础版产品定价和湖仓版产品定价。
推荐具备如下特征的业务优先开启:
线上CPU使用率和内存使用率已经较高。
业务受周期性调度的压缩操作影响较大。
操作步骤
登录云原生数据仓库AnalyticDB MySQL控制台,在左上角选择集群所在地域。在左侧导航栏,单击集群列表。在集群列表上方,选择产品系列,然后单击目标集群ID。
在集群信息页签的配置信息部分,单击集群查询加速配置旁边的设置。
单击远程Build服务开启服务。