全部产品
Search
文档中心

云原生数据仓库AnalyticDB:XUANWU_V2引擎介绍

更新时间:May 30, 2025

本文为您介绍云原生数据仓库 AnalyticDB MySQL 版表引擎(XUANWU_V2)和相关组件(Compaction Service)的使用方法。

前提条件

关于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语句,为已有表修改全列索引行为。

    向量索引

    支持

    不支持

    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按钮,开启服务。