本文为您介绍云原生数据仓库 AnalyticDB MySQL 版表引擎(XUANWU_V2)和相关组件(Compaction Service)的使用方法。
前提条件
集群的产品系列为企业版、基础版或湖仓版。
内核为3.2.2.0及以上版本。
说明请在云原生数据仓库AnalyticDB MySQL控制台集群信息页面的配置信息区域,查看和升级内核版本。
关于XUANWU_V2引擎
玄武(XUANWU)分析存储引擎是AnalyticDB for MySQL实现高吞吐实时写入、高性能实时查询的存储引擎。XUANWU_V2作为新一代存储引擎具有如下特点:
存储介质:将数据全部存储在对象存储上,利用云盘作为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语句,为已有表修改全列索引行为。
支持
不支持
支持
不支持
支持
不支持
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按照您设置的云盘缓存空间计费。
开启云盘缓存形态后,不建议关闭,关闭后会导致性能严重回退。
登录云原生数据仓库AnalyticDB MySQL控制台,在左上角选择集群所在地域。在左侧导航栏,单击集群列表,然后单击目标集群ID。
在集群信息页签的配置信息部分,单击集群查询加速配置旁边的设置。
在云盘缓存形态页签下,单击
按钮,并设置Cache大小。
在开启云盘缓存形态后,您也可以通过上述步骤查看Cache大小。
开启Compaction Service
Compaction Service是独立的资源池,用于将在本地的Compaction转移到独立进程中执行,从而降低对线上业务的资源占用,提升稳定性。该功能为可选功能,默认关闭。开启后按量计费,可自由关闭。计费详情,请参见企业版、基础版产品定价和湖仓版产品定价。
推荐具备如下特征的业务优先开启:
线上CPU使用率和内存使用率已经较高。
业务受周期性调度的压缩操作影响较大。
操作步骤
登录云原生数据仓库AnalyticDB MySQL控制台,在左上角选择集群所在地域。在左侧导航栏,单击集群列表,然后单击目标集群ID。
在集群信息页签的配置信息部分,单击集群查询加速配置旁边的设置。
在远程Build服务页签下,单击
按钮,开启服务。