XUANWU_V2引擎介绍

更新时间:2025-03-14 02:41:52

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

前提条件

  • 集群的产品系列为企业版、基础版或湖仓版

  • 内核为3.2.2.0及以上版本。

    说明

    企业版基础版湖仓版:请执行SELECT adb_version();查看内核版本。如需升级,请联系技术支持。

关于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引擎

    对比项

    XUANWU引擎

    XUANWU_V2引擎

    普通索引

    默认全列索引(INDEX_ALL='Y')。

    默认非全列索引(INDEX_ALL='N')。

    说明

    如果您想要在建表时创建全列索引,可以在CREATE TABLE语句中显式指定INDEX_ALL='Y',或建表前在集群全局配置SET ADB_CONFIG XUANWUV2_DEFAULT_INDEX_ALL=true

    向量索引

    支持

    不支持

    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.13.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数据的随机读取性能。

  1. 登录云原生数据仓库AnalyticDB MySQL控制台,在左上角选择集群所在地域。在左侧导航栏,单击集群列表。在集群列表上方,选择产品系列,然后单击目标集群ID。

  2. 集群信息页签的配置信息部分,单击集群查询加速配置旁边的设置

  3. 单击云盘缓存形态设置Cache类型及大小。

    重要

    不建议关闭云盘缓存形态,关闭后会导致性能严重回退。

开启Compaction Service

Compaction Service是独立的资源池,用于将在本地的Compaction转移到独立进程中执行,从而降低对线上业务的资源占用,提升稳定性。该功能为可选功能,默认关闭。开启后按量计费,可自由关闭。计费详情,请参见企业版和基础版产品定价湖仓版产品定价

推荐具备如下特征的业务优先开启:

  • 线上CPU使用率和内存使用率已经较高。

  • 业务受周期性调度的压缩操作影响较大。

操作步骤

  1. 登录云原生数据仓库AnalyticDB MySQL控制台,在左上角选择集群所在地域。在左侧导航栏,单击集群列表。在集群列表上方,选择产品系列,然后单击目标集群ID。

  2. 集群信息页签的配置信息部分,单击集群查询加速配置旁边的设置

  3. 单击远程Build服务开启服务。

  • 本页导读 (1)
  • 前提条件
  • 关于XUANWU_V2引擎
  • 使用限制
  • 费用说明
  • 指定表引擎
  • 集群全局配置
  • 表级别配置
  • 开启云盘缓存形态
  • 开启Compaction Service
  • 操作步骤