云原生数据库砸了 K8S云自建数据库的饭碗--- CXL内存技术

开头还是介绍一下群,如果感兴趣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大会其中有一个主题。虽然因为家里有事情,去不了,但学习知识和不落后,要争先的精神驱使着我,还是要把这段知识补上。
image

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的职业咨询

开源软件是心怀鬼胎的大骗局 -- 开源软件是人类最好的正能量 --- 一个人的辩论会

AI 祸国殃民必须铲除,AI国强民富必须支持

PolarDB 相关文章

"PostgreSQL" 高性能主从强一致读写分离,我行,你没戏!

PostgreSQL 的搅局者问世了,杀过来了!

在被厂商围剿的DBA 求生之路 --我是老油条

POLARDB 添加字段 "卡" 住---这锅Polar不背

PolarDB 版本差异分析--外人不知道的秘密(谁是绵羊,谁是怪兽)

在被厂商围剿的DBA 求生之路 --我是老油条

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 for PostgreSQL 有意思吗?有意思呀

PolarDB Serverless POC测试中有没有坑与发现的疑问

临时工说:从人性的角度来分析为什么公司内MySQL 成为少数派,PolarDB 占领高处

POLARDB 到底打倒了谁 PPT 分享 (文字版)

POLARDB -- Ausitndatabases 历年的文章集合

PolarDB for PostgreSQL 有意思吗?有意思呀

PolarDB 搞那么多复杂磁盘计费的东西,抽筋了吗?

PostgreSQL 相关文章

"PostgreSQL" 高性能主从强一致读写分离,我行,你没戏!

PostgreSQL 添加索引导致崩溃,参数调整需谨慎--文档未必完全覆盖场景

PostgreSQL 的搅局者问世了,杀过来了!

PostgreSQL SQL优化用兵法,优化后提高 140倍速度

PostgreSQL 运维的难与"难" --上海PG大会主题记录

PostgreSQL 什么都能存,什么都能塞 --- 你能成熟一点吗?

PostgreSQL 迁移用户很简单 --- 我看你的好戏

PostgreSQL 用户胡作非为只能受着 --- 警告他

全世界都在"搞" PostgreSQL ,从Oracle 得到一个"馊主意"开始
PostgreSQL 加索引系统OOM 怨我了--- 不怨你怨谁

PostgreSQL "我怎么就连个数据库都不会建?" --- 你还真不会!

病毒攻击PostgreSQL暴力破解系统,防范加固系统方案(内附分析日志脚本)

PostgreSQL 远程管理越来越简单,6个自动化脚本开胃菜

PostgreSQL 稳定性平台 PG中文社区大会--杭州来去匆匆

PostgreSQL 如何通过工具来分析PG 内存泄露

PostgreSQL 分组查询可以不进行全表扫描吗?速度提高上千倍?

POSTGRESQL --Austindatabaes 历年文章整理

PostgreSQL 查询语句开发写不好是必然,不是PG的锅

PostgreSQL 字符集乌龙导致数据查询排序的问题,与 MySQL 稳定 "PG不稳定"

PostgreSQL Patroni 3.0 新功能规划 2023年 纽约PG 大会 (音译)

PostgreSQL 玩PG我们是认真的,vacuum 稳定性平台我们有了

PostgreSQL DBA硬扛 垃圾 "开发","架构师",滥用PG 你们滚出 !(附送定期清理连接脚本)

DBA 失职导致 PostgreSQL 日志疯涨

MySQL相关文章

MySQL SQL优化快速定位案例 与 优化思维导图

"DBA 是个der" 吵出MySQL主键问题多种解决方案

MySQL 怎么让自己更高级---从内存表说到了开发方式

MySQL timeout 参数可以让事务不完全回滚

MySQL 让你还用5.7 出事了吧,用着用着5.7崩了

MySQL 的SQL引擎很差吗?由一个同学提出问题引出的实验

用MySql不是MySQL, 不用MySQL都是MySQL 横批 哼哼哈哈啊啊

MYSQL --Austindatabases 历年文章合集

OceanBase 相关文章

OceanBase 架构学习--OB上手视频学习总结第二章 (OBCA)

OceanBase 6大学习法--OB上手视频学习总结第一章

没有谁是垮掉的一代--记 第四届 OceanBase 数据库大赛

OceanBase 送祝福活动,礼物和幸运带给您

跟我学OceanBase4.0 --阅读白皮书 (OB分布式优化哪里了提高了速度)

跟我学OceanBase4.0 --阅读白皮书 (4.0优化的核心点是什么)

跟我学OceanBase4.0 --阅读白皮书 (0.5-4.0的架构与之前架构特点)

跟我学OceanBase4.0 --阅读白皮书 (旧的概念害死人呀,更新知识和理念)

聚焦SaaS类企业数据库选型(技术、成本、合规、地缘政治)

OceanBase 学习记录-- 建立MySQL租户,像用MySQL一样使用OB

OceanBase 学习记录 -- 安装简易环境

OceanBase 学习记录 -- 开始入门

数据库最近第一比较多,OceanBase 定语加多了?

临时工访谈:OceanBase上海开大会,我们四个开小会 OB 国产数据库破局者

临时工说:OceanBase 到访,果然数据库的世界很卷,没边

数据库信息速递 阿里巴巴的分布式数据库OceanBase旨在进军中国以外的市场 (翻译)

MongoDB 相关文章

MongoDB 大俗大雅,上来问分片真三俗 -- 4 分什么分

MongoDB 大俗大雅,高端知识讲"庸俗" --3 奇葩数据更新方法

MongoDB 学习建模与设计思路--统计数据更新案例

MongoDB 大俗大雅,高端的知识讲"通俗" -- 2 嵌套和引用

MongoDB 大俗大雅,高端的知识讲"低俗" -- 1 什么叫多模

MongoDB 合作考试报销活动 贴附属,MongoDB基础知识速通

MongoDB 年底活动,免费考试名额 7个公众号获得

MongoDB 使用网上妙招,直接DOWN机---清理表碎片导致的灾祸 (送书活动结束)

数据库 《三体》"二向箔" 思维限制 !8个公众号联合抽奖送书 建立数据库设计新思维

MongoDB 是外星人,水瓶座,怎么和不按套路出牌的他沟通?

17000多张MongoDB表的锅 自动分析删除表数据难题--从头到尾的处理过程(文尾有MongoDB开发规范)

MongoDB 插入更新数据慢,开发问哪的问题?附带解决方案和脚本

MongoDB 不是软柿子,想替换就替换

MongoDB 挑战传统数据库聚合查询,干不死他们的MongoDB 2023纽约 MongoDB 大会 -- 我们怎么做的新一代引擎 SBE Mongodb 7.0双擎力量(译)

MongoDB 2023年度纽约 MongoDB 年度大会话题 -- MongoDB 数据模式与建模

MongoDB 双机热备那篇文章是 "毒"

MongoDB 会丢数据吗?在次补刀MongoDB 双机热备

MONGODB ---- Austindatabases 历年文章合集

PolarDB 相关文章

PostgreSQL 的搅局者问世了,杀过来了!

在被厂商围剿的DBA 求生之路 --我是老油条

POLARDB 添加字段 "卡" 住---这锅Polar不背

PolarDB 版本差异分析--外人不知道的秘密(谁是绵羊,谁是怪兽)

在被厂商围剿的DBA 求生之路 --我是老油条

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 for PostgreSQL 有意思吗?有意思呀

PolarDB Serverless POC测试中有没有坑与发现的疑问

临时工说:从人性的角度来分析为什么公司内MySQL 成为少数派,PolarDB 占领高处

POLARDB 到底打倒了谁 PPT 分享 (文字版)

POLARDB -- Ausitndatabases 历年的文章集合

PolarDB for PostgreSQL 有意思吗?有意思呀

PolarDB 搞那么多复杂磁盘计费的东西,抽筋了吗?

临时工访谈系列

Oracle 文化走后,你我只值9.9元

知人者智,自知者明,琼瑶一路走好

本地存储还有活路吗? 从上周一个供应商问我的问题开始

一年又一年,成了老梆子,别回头,往前看!

临时工说: 实际实例揭穿AI, 上云就不用DBA的谎言

临时工说:DBA 7*24H 给2万的工作,到底去不去?

国内最大IT服务公司-招聘DBA "招聘广告"的变化--分析与探讨

临时工说: 网友问35岁就淘汰,我刚入行DBA 怎么办?

公众号给我两个数字 34.6万,65.5万--告别2024

云不云的,我不晕,从今天起云专栏的喇叭开始广播了。

没有谁是垮掉的一代--记 第四届 OceanBase 数据库大赛

ETL 行业也够卷,云化ETL,ETL 软件不过了

SQL SERVER 系列

SQL SERVER维保AI化,从一段小故事开始

SQL SERVER 如何实现UNDO REDO 和PostgreSQL 有近亲关系吗

SQL SERVER 危险中,标题不让发,进入看详情(译)

SQL SERVER 我没有消失,SQL SERVER下一个版本是2025 (功能领先大多数数据库)

SQL SERVER 2022 针对缓存扫描和Query Store 的进步,可以考虑进行版本升级

阿里云系列

阿里云数据库产品权限设计缺陷 ,六个场景诠释问题,你可以做的更好?

阿里云数据库--市场营销聊胜于无--3年的使用感受与反馈系列

阿里云数据库产品 对内对外一样的卷 --3年阿里云数据库的使用感受与反馈系列

阿里云数据库使用感受--客户服务问题深入剖析与什么是廉价客户 --3年的使用感受与反馈系列

阿里云数据库使用感受--操作界面有点眼花缭乱 --3年的使用感受与反馈系列

相关推荐
m0_7482352415 分钟前
使用Docker快速搭建Redis主从复制
redis·docker·容器
Watink Cpper1 小时前
[MySQL初阶]MySQL(1)MySQL的理解、库的操作、表的操作
linux·运维·服务器·数据库·c++·后端·mysql
尘世壹俗人1 小时前
spark写数据库用连接池找不到driver类
大数据·数据库·spark
码农汉子2 小时前
k8s架构及服务详解
容器·架构·kubernetes
shenzhenNBA2 小时前
Docker相关知识
linux·运维·docker·容器
计算机学长大白2 小时前
Redis是什么?如何使用Redis进行缓存操作?
数据库·redis·缓存
豪宇刘2 小时前
Eureka Server 数据同步原理深度解析
云原生·eureka
焱焱枫2 小时前
PostgreSQL全页写机制深度解析:如何平衡WAL性能与数据可靠性
数据库·postgresql·wal性能
nicepainkiller4 小时前
go 分布式redis锁的实现方式
数据库·redis·redis分布式锁
酥暮沐4 小时前
Docker 学习(二)——私有仓库搭建
学习·docker·容器·仓库