开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, OceanBase, Sql Server等有问题,有需求都可以加群群内有各大数据库行业大咖,可以解决你的问题。加群请联系 liuaustin3 ,(共2750人左右 1 + 2 + 3 + 4 +5 + 6 + 7 满)(开8群近200+ 9群)
紧随时代脉搏,打破知识束缚,今天的主题什么是CXL。
随着云数据库时代的来临,一个DBA的知识层次可以拉开水平的另一个阵地,在云。基于我已经在云上打拼了4年,虽然不是先行者,但我是一个开放思维的DBA的先行者,2月26日PolarDB大会其中有一个主题。虽然因为家里有事情,去不了,但学习知识和不落后,要争先的精神驱使着我,还是要把这段知识补上。


1 什么是CXL
CXL 是一种在处理器和设备(如内存缓冲区)之间建立互连的开放行业标准协议,与其他互连协议相比,CXL 具有高带宽和低延迟的优势,且其带宽可随 PCIe 带宽扩展。CXL 的关键优势在于它在 CPU 缓存和基于 CXL 的内存之间提供内存语义和缓存一致性支持。CPU 可以像处理近内存一样处理远内存中的数据,简化了分散内存资源的管理。
为什么要引入这个协议,PolarDB为什么要用这个协议?
在传统的分布式数据库系统中,内存资源分散在不同的机器、多个 PCIe 内存设备和不同的 NUMA 节点上,管理这些分散的资源非常复杂。CXL 的出现,使得统一管理近内存、扩展内存、池化内存和共享内存成为可能,CXL 允许构建大容量内存缓冲池,从而提高数据库系统的内存利用效率和性能。通过 CXL,CPU 可以有效地缓存远内存,从而减少对速度较慢的磁盘的依赖,CXL 支持动态内存分配,允许在不重启主机的情况下,将远内存资源动态地重新分配给不同的主机。这种灵活性使得 DBMS 可以根据每个查询的不同内存需求动态调整内存分配,从而优化资源利用率并提高整体性能。
注意上面这段中的一句话,我把他摘出来:这种灵活性使得 DBMS 可以根据每个查询的不同内存需求动态调整内存分配。
那么为什么这样的POALRDB 会快的原因? (听话听音)
CXL 的高带宽和动态内存分配为分布式计算-内存-存储分离 DBMS 带来了超快速故障恢复的希望。这包括在发生故障时快速重组内存资源,并从远内存中的备份恢复数据,从而减少对较慢的基于磁盘的日志恢复的依赖。CXL 协议的低延迟、高带宽为针对远内存数据定制的索引设计提出了新的要求,可以充分利用新硬件设计的优势,提高索引管理的效率和可扩展性,从而提高 DBMS 的整体性能,CXL 提供的共享缓冲池为云原生数据库中进一步的计算-内存-存储分离提供了可能,尤其是在支持高效事务处理和复杂数据分析方面,通过支持跨主机边界的细粒度内存共享,CXL 显著降低了千字节级数据页更新处理过程中的通信延迟(降至亚微秒级)。

那么引入了这样的协议的云原生数据库有什么挑战? (听话听音)
CXL 引入了多层内存结构,包括近内存、远内存和共享内存,构建一个有效管理这些不同类型内存的混合缓冲池是一项挑战。不同内存层具有不同的访问特性(容量、延迟、带宽),如何有效地将数据分配到不同的内存类型以充分发挥每种内存的潜力是一个关键问题。例如,扩展内存虽然带宽较大,但访问延迟比近内存慢得多,可能成为性能瓶颈。
虽然 CXL 实现了动态内存分配,但在 HTAP(混合事务/分析处理)等工作负载中,缓冲池的内存需求波动很大,准确预测内存需求是一个挑战。此外,在动态内存分配过程中,内存重新分配、数据持久化、数据加载和信息同步等环节都会引入延迟,如何最小化这些延迟对用户体验的负面影响是一个需要解决的问题。

利用 CXL 提供的远内存进行快速故障恢复,需要设计双检查点机制,即在远内存和磁盘日志中设置检查点,这增加了数据管理的复杂性,并对数据一致性提出了更高的要求。此外,如何有效地同步共享内存中的脏页,以及在 CXL 和持久内存(PMEM)环境下实现强制提交(force commit)也是需要解决的挑战。
CXL 提供的低延迟、高带宽为索引设计带来了新的可能性,但也提出了新的要求。例如,如何为 B+ 树节点进行内存分配,如何动态地为数据修改分配内存,以及如何在结构更新过程中增强索引的并发性,都是需要认真考虑的问题。
与 RDMA 的差异。虽然 RDMA(Remote Direct Memory Access)协议也支持共享内存和计算-内存分离架构,但 CXL 在带宽、延迟、数据访问粒度、数据一致性和共享内存管理等方面与 RDMA 存在显著差异。这意味着基于 RDMA 协议的数据组织和算法可能不完全适用于基于 CXL 协议的内存管理,需要重新设计。CXL 提供的缓存一致性是 RDMA 所不具备的,因此,基于 CXL 协议的 DBMS 架构、查询优化和事务处理需要重新设计,以充分利用其先进特性。

聪明的人看完上面的信息,应该已经对云原生数据库的优缺点或者系统的难点有了清晰的一部分认知了,可以总结出一句话。
那么POALRDB 利用CXL技术,带来了什么优势:
Serverless,对serverless,PolarDB Serverless 能够独立调整每个资源池的大小,这是通过 CXL 提供的内存解耦实现的,同时提供了乐观锁和索引的感知预先获取资源的优化技术,这增加了性能和可扩展性,完全实现了内存限制的解耦,这才是实现真正的弹性的根本,这也是大会上三层分离的基础,计算,内存,存储(实际上三层最难的分离是在内存的分离,serverless 目前还是CPU和内存绑定,后期就全部分离了,要怎么弹就怎么弹的时代很快会到来)
注: CXL 助力云原生数据库的四大特点
动态内存分配:CXL 2.0 规范通过单层 CXL 交换机的设计,实现了多个主机和多个内存扩展设备之间的连接,其关键创新在于引入了动态内存分配功能,允许跨主机分配和取消分配内存资源,而无需系统重启6。
Fabric Manager 实现增强的可扩展性:CXL 3.0 规范通过使用 Fabric Manager 集成 CXL 交换机,进一步扩展了边界,从而实现了增强的可扩展性和低延迟7。CXL Fabric Manager 有助于网络环境的设置、部署和修改,通过基于端口的路由管理多达 4096 个节点(包括 CPU 主机和 CXL 内存设备)7。
增强的缓存一致性:CXL 3.0 的一个主要增强功能是其能够反向失效主机缓存8。维护主机管理设备连接内存(HDM)的一致性被称为增强的一致性,取代了先前几代的基于偏置的一致性8。
全局集成内存(GIM):最新的 CXL 3.1 规范主要增强了结构连接功能,引入了全局集成内存(GIM),以促进多个主机之间的通信,并改进结构解码和路由功能
置顶
辩论中 DeepSeek 竟然可以安慰我?我替AI 送上一句 Shame on you !人类
临时工:数据库人生路,如何救赎自己 -- 答某个迷茫DBA的职业咨询
开源软件是心怀鬼胎的大骗局 -- 开源软件是人类最好的正能量 --- 一个人的辩论会
PolarDB 相关文章
“PostgreSQL” 高性能主从强一致读写分离,我行,你没戏!
POLARDB 添加字段 “卡” 住---这锅Polar不背
PolarDB 版本差异分析--外人不知道的秘密(谁是绵羊,谁是怪兽)
PolarDB 答题拿-- 飞刀总的书、同款卫衣、T恤,来自杭州的Package(活动结束了)
PolarDB for MySQL 三大核心之一POLARFS 今天扒开它--- 嘛是火星人
PolarDB-MySQL 并行技巧与内幕--(怎么薅羊毛)
PolarDB 并行黑科技--从百套MySQL撤下说起 (感谢8018个粉丝的支持)
PolarDB 杀疯了,Everywhere Everytime Everydatabase on Serverless
POLARDB 从一个使用者的角度来说说,POALRDB 怎么打败 MYSQL RDS
PolarDB 最近遇到加字段加不上的问题 与 使用PolarDB 三年感受与恳谈
PolarDB 从节点Down机后,引起的主从节点强一致的争论
PolarDB serverless 真敢搞,你出圈了你知道吗!!!!
PolarDB VS PostgreSQL "云上"性能与成本评测 -- PolarDB 比PostgreSQL 好?
临时工访谈:PolarDB Serverless 发现“大”问题了 之 灭妖记 续集
临时工访谈:庙小妖风大-PolarDB 组团镇妖 之 他们是第一
POLARDB -- Ausitndatabases 历年的文章集合
PolarDB for PostgreSQL 有意思吗?有意思呀
PostgreSQL 相关文章
“PostgreSQL” 高性能主从强一致读写分离,我行,你没戏!
全世界都在“搞” PostgreSQL ,从Oracle 得到一个“馊主意”开始
PostgreSQL 加索引系统OOM 怨我了--- 不怨你怨谁
PostgreSQL “我怎么就连个数据库都不会建?” --- 你还真不会!
PostgreSQL 稳定性平台 PG中文社区大会--杭州来去匆匆
PostgreSQL 分组查询可以不进行全表扫描吗?速度提高上千倍?
POSTGRESQL --Austindatabaes 历年文章整理
PostgreSQL 查询语句开发写不好是必然,不是PG的锅
跟我学OceanBase4.0 --阅读白皮书 (OB分布式优化哪里了提高了速度)
跟我学OceanBase4.0 --阅读白皮书 (4.0优化的核心点是什么)
跟我学OceanBase4.0 --阅读白皮书 (0.5-4.0的架构与之前架构特点)
跟我学OceanBase4.0 --阅读白皮书 (旧的概念害死人呀,更新知识和理念)
MongoDB 相关文章
MongoDB 大俗大雅,上来问分片真三俗 -- 4 分什么分
MongoDB 大俗大雅,高端知识讲“庸俗” --3 奇葩数据更新方法
MongoDB 大俗大雅,高端的知识讲“通俗” -- 2 嵌套和引用
MongoDB 大俗大雅,高端的知识讲“低俗” -- 1 什么叫多模
MongoDB 合作考试报销活动 贴附属,MongoDB基础知识速通
MongoDB 使用网上妙招,直接DOWN机---清理表碎片导致的灾祸 (送书活动结束)
数据库 《三体》“二向箔” 思维限制 !8个公众号联合抽奖送书 建立数据库设计新思维
MongoDB 是外星人,水瓶座,怎么和不按套路出牌的他沟通?
POLARDB 添加字段 “卡” 住---这锅Polar不背
PolarDB 版本差异分析--外人不知道的秘密(谁是绵羊,谁是怪兽)
PolarDB 答题拿-- 飞刀总的书、同款卫衣、T恤,来自杭州的Package(活动结束了)
PolarDB for MySQL 三大核心之一POLARFS 今天扒开它--- 嘛是火星人
PolarDB-MySQL 并行技巧与内幕--(怎么薅羊毛)
PolarDB 并行黑科技--从百套MySQL撤下说起 (感谢8018个粉丝的支持)
PolarDB 杀疯了,Everywhere Everytime Everydatabase on Serverless
POLARDB 从一个使用者的角度来说说,POALRDB 怎么打败 MYSQL RDS
PolarDB 最近遇到加字段加不上的问题 与 使用PolarDB 三年感受与恳谈
PolarDB 从节点Down机后,引起的主从节点强一致的争论
PolarDB serverless 真敢搞,你出圈了你知道吗!!!!
PolarDB VS PostgreSQL "云上"性能与成本评测 -- PolarDB 比PostgreSQL 好?
临时工访谈:PolarDB Serverless 发现“大”问题了 之 灭妖记 续集
临时工访谈:庙小妖风大-PolarDB 组团镇妖 之 他们是第一
POLARDB -- Ausitndatabases 历年的文章集合
PolarDB for PostgreSQL 有意思吗?有意思呀
没有谁是垮掉的一代--记 第四届 OceanBase 数据库大赛
阿里云系列
阿里云数据库产品权限设计缺陷 ,六个场景诠释问题,你可以做的更好?
阿里云数据库--市场营销聊胜于无--3年的使用感受与反馈系列
阿里云数据库产品 对内对外一样的卷 --3年阿里云数据库的使用感受与反馈系列
阿里云数据库使用感受--客户服务问题深入剖析与什么是廉价客户 --3年的使用感受与反馈系列
阿里云数据库使用感受--操作界面有点眼花缭乱 --3年的使用感受与反馈系列
