全部产品
Search
文档中心

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

更新时间:Nov 22, 2024

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

前提条件

满足以下两个条件的集群支持XUANWU_V2引擎:

  • 产品系列为湖仓版

  • 内核为3.2.1及以上版本。

说明

如何查看集群的内核版本,请参见购买、变配与升级

背景信息

玄武分析存储引擎是AnalyticDB for MySQL实现高吞吐实时写入、高性能实时查询的基础支撑,默认指定引擎为XUANWUAnalyticDB 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弹性导入能力。

开启云盘缓存形态

开启云盘缓存形态后,您可以设置Cache类型及大小来提高数据的随机读取性能。

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

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

  3. 单击云盘缓存形态设置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使用率和内存使用率已经较高。

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

操作步骤

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

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

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