CXL弹性内存池

更新时间:
复制 MD 格式

云原生数据仓库 AnalyticDB MySQL 版(以下简称AnalyticDB for MySQL)弹性内存池通过CXL(Compute Express Link)扩展数据库节点可用的内存容量,为大数据量分析提供可扩展的内存资源,突破传统部署中内存容量受服务器内存插槽、单机配置及实例规格的约束。对于数据规模较大、缓存需求较高的分析业务,能大幅提升查询分析性能。本文介绍弹性内存池的工作原理、核心价值和适用场景。

说明

CXL弹性内存池功能目前处于灰度阶段。如需使用该功能或对当前功能有任何疑问,请提交工单联系我们为您处理。

适用范围

集群:AnalyticDB for MySQL企业版

工作原理

云原生数据仓库 AnalyticDB MySQL 版基于CXL 2.0技术构建弹性内存池,将CXL内存作为本地DRAM的透明扩展映射到主机物理地址空间。数据库无需感知远端内存通信与显式数据搬运即可按需使用这部分容量,从而实现内存与计算资源解耦、独立扩缩、按需付费。

弹性内存池架构由逻辑资源、联合资源调度器与物理资源三部分组成:

  • 逻辑资源:AnalyticDB实例内包含Worker、CPU、本地内存(Local memory)、CXL内存(CXl memory)与磁盘(Disk,SSD或分布式文件系统)。内存分配器(Memory Allocator)统一管理CPU、本地内存与CXL内存,通过Lookup & Evict和Return机制在内存与磁盘之间调度数据。

  • 联合资源调度器(Joint Resource Scheduler):接收在线调度(Online Schedule)与离线调度(Offline Schedule)请求,协调逻辑资源与物理资源之间的分配。

  • 物理资源:计算资源池(Compute resource pool)由多台服务器(Server)组成,Auto-scaler按需扩缩容;多租户安全内存池(Multi-Tenant Secure Memory Pool)通过CXL高速互连与服务器相连,池化内存(Pooling memory)按需分配给计算节点。

在存储层级上,CXL内存池构成介于本地DRAM与SSD/OSS之间的新Hot Tier:DRAM(最热)→ CXL内存(新增Hot Tier)→ SSD(Warm)→ OSS(Cold)。

存储引擎与计算引擎按数据冷热特性分层调度:热数据驻留DRAM,温数据下沉至CXL内存,冷数据仍存放于SSD与OSS,数据库的持久化存储方式不变。

核心能力

  • 存储访问加速(Hot Tier缓存):将数据缓存于CXL内存,查询命中时直接复用已解码数据,减少底层存储读取与重复解压、解码开销。在部分客户负载场景下,查询性能提升2~7倍。

  • 避免大数据量计算落盘:当实例内存不足时,排序、聚合、Join等算子的中间数据优先迁移到CXL内存,而非溢写磁盘,避免磁盘IO拖累端到端吞吐,提升大查询性能。

  • 基于CXL的数据Shuffle:分布式计算的Shuffle中间结果通过CXL内存池交换,替代传统落盘与网络传输路径,降低Shuffle开销。

核心价值

  • 突破单机容量限制:单个计算节点内存容量最高可扩展至2 TB,从容应对超大数据集的分析与查询。

  • 显著降低成本:CXL内存单位GB成本远低于本地DRAM,且与计算资源解耦、独立扩缩、按需付费,可大幅降低实例总持有成本。

适用场景

  • 大工作集分析:业务反复访问较大数据集,现有内存容量限制了数据驻留与复用。

  • 复杂报表与聚合:海量数据的连接、聚合、排序等实时分析。

  • 内存受限的大查询:数据量大、易因内存不足而溢写磁盘、端到端吞吐受影响的负载。