论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
数据库
›
Postrge-SQL技术社区
›
VLDB 2024论文解读丨GaussDB:盘算-内存-存储三层池化解 ...
VLDB 2024论文解读丨GaussDB:盘算-内存-存储三层池化解耦的多主云原生数据 ...
农民
论坛元老
|
2024-9-8 10:04:58
|
显示全部楼层
|
阅读模式
楼主
主题
1012
|
帖子
1012
|
积分
3036
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
华为《GaussDB: A Cloud-Native Multi-Primary Database with Compute-Memory-Storage Disaggregation》论文被国际数据库顶会VLDB 2024收录,该论文创新性提出了GaussDB云原生数据库的三层池化解耦架构,以及实现多节点透明多写的核心技能。通过三层池化解耦技能,明显提升了云数据库弹性能力;通过分布式内存缓冲池、热温冷数据分层自适应读写、本地亲和性读写、数据智能路由与汇聚、细粒度页面级Lamport LSN等技能,提升了数据库的透明多写性能;通过内存和磁盘双查抄点、Past Image就近页面规复等机制,实现节点故障秒级规复(RTO<6s),存活节点持续运行,业务不停止;提出盘算层无状态设计机制,实现了秒级盘算节点弹性伸缩,提出了基于Bucket的细粒度一致性哈希算法,实现内存节点在线弹性扩展。
下面对论文举行全方位解读,揭开GaussDB云原生数据库的面纱。
配景介绍
新应用场景持续涌现、业务负载快速增加,叠加新硬件技能的不停突破,成为推动数据库架构演进厘革的重要推力。OLTP关系型数据库自问世以来,先后出现了主备架构、shared-disk多主架构、shared-nothing分布式架构和云原生存算分离主备架构。怎样在云情况下充实发挥先进硬件优势,突破现有架构吞吐扩展能力瓶颈,成为近些年工业界和学术界研究的热点,云原生三层解耦多写数据库正是在这样的配景下产生的。
核心技能解读
高性能
以D*和O*为代表的传统shared-disk多主架构,支持多节点透明多写,具备肯定的吞吐扩展能力,在很长一段时间乐成的支撑了企业关键业务负载。但其限制也很显着,起首D*和O*多写架构依赖专有硬件,弹性伸缩能力差,TCO较高,用户易被Lock in,在云盘算和通用服务器大行其道的配景下,越来越多的用户盼望多写架构能够运行于开放平台之上。另外,D*和O*的多节点并发事务状态多采用中央化模式设计,导致其扩展线性比较低,在重业务负载情况下,资源的扩展并不能带来对等的性能收益,导致其业务承载能力受到限制。
为继承D*和O*透明多写能力,同时充实利用云平台资源弹性和RDMA高速网络等先进硬件技能,当前业界头部数据库厂商均积极研究云原生多写架构。近期,某云厂商推出的云原生多主数据库,采用盘算-内存-存储三层解耦的云原生架构设计,基于中央化组件实现多节点透明多写,是该方向架构演进的一个突破。但从其发表论文的测试数据来看,32节点TPCC吞吐为910万tpmC,而华为GaussDB云原生数据库在雷同32节点可达3000+万tpmC的吞吐能力,支持128节点(16384鲲鹏核心)摆设,能够支撑PB级OLTP业务规模,目前已在华为内部支撑实际业务生产。
存在上述性能差距的原因,笔者以为有如下几点:
第一
,国内云厂商多写数据库的页面跨节点修改,采用进程级LLSN实现WAL记录的保序,而GaussDB云原生数据库采用细粒度页面级Lamport LSN保序,进程内无全局冲突点,在多核/众核情况下扩展性更强,能够更好的发挥硬件算力。
第二
,GaussDB云原生采用页面亲和性设计,脏页面无需回写共享内存,而该云厂商数据库采用中央式全量脏页面管理机制,事务产生的脏页面均须回写共享内存,造成大量页面在网络间频繁传递。
GaussDB云原生数据库架构图
GaussDB云原生数据库在节点亲和性算法设计方面,除了分布式缓冲池的页面属主和读授权机制外,Undo段和FSM算法也充实考虑了节点亲和性设计,将节点间的网络交互降至最低,确保极致性能。
在Undo segment的节点亲和性设计上,从undo tablespace分配空间,多节点共享undo tablespace,而每个盘算节点利用分布式锁机制亲和性分配Undo segment,每个Undo segment同一时候只能被一个盘算节点绑定。
Undo segment亲和性分配机制图
在FSM空闲空间管理节点亲和性算法上,针对Heap FSM采用主动分区机制优化表数据插入分配页面算法,淘汰节点间冲突;针对索引空页面管理,采用主动分区机制优化索引查找空页面算法,淘汰节点间冲突。
空闲空间管理亲和性分配机制
高可用
在高可用方面,GaussDB云原生数据库的节点故障能够做到6s内规复,且对其他正常节点无影响,而别的厂商需要30s以上。可用性存在上述差异的根本原因在于,该云厂商摆设在共享内存层支撑多写的核心组件存在单点题目,保存其上的全量脏页面、锁、事务状态等信息,在故障时需要全量规复,特殊是全局Buffer Pool,需要从共享存储的查抄点依次规复,较为耗时。与之相对比,GaussDB云原生围绕高可用做了大量创新:
起首,共享内存无脏页状态设计,仅内存节点故障时无需规复WAL;
其次,盘算节点采用Past-Image设计,盘算节点故障可从最近Image规复,规复时间大幅淘汰;
最后,GaussDB云原生业界首创双check-point设计,盘算节点故障从内存查抄点规复,只有盘算节点和共享内存节点同时故障时,才从共享存储的查抄点规复WAL。
双check-point设计机制
高弹性
在弹性扩展方面,GaussDB采用盘算-内存-存储三层池化解耦设计,支持分层独立弹性伸缩,对应用透明。盘算层将全局锁和页面属主目录(POD,Page Owner Directory)等状态下沉至共享内存层,本地仅保留数据页面,盘算层增删节点无需状态信息迁移,实现秒级弹性伸缩;共享内存层采用POD方式管理缓冲池页面属主关系,POD基于一致性Hash均匀分布在共享内存层,增删节点仅迁移少量Bucket,内存层秒级弹性,应用无感知。
分层弹性伸缩
论文总结
GaussDB云原生数据库,打造盘算/内存/存储三层池化架构,实现多节点透明多写、分层弹性伸缩、秒级快速规复、秒级节点扩展能力,为用户带来最大代价。GaussDB持续创新,打造新型竞争力,为世界提供更优选择。
接待小同伴吗交流~
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
农民
论坛元老
这个人很懒什么都没写!
楼主热帖
数据库入门
肝了五万字把SQL数据库从基础到高级所 ...
java反射大白话
iOS WebRTC 点对点实时音视频流程介绍 ...
Java中set集合简介说明
【R语言数据科学】(十二):有趣的概 ...
每日算法之数组中的逆序对
消息队列常见的使用场景
flume基本安装与使用
CentOS 7.9 安装 rocketmq-4.9.2
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
IOS
物联网
SQL-Server
备份
.Net
DevOps与敏捷开发
快速回复
返回顶部
返回列表