读写节点和只读节点共享一份底层存储读写节点和只读节点之间通过TCP或RDMA协议使用DMS组件共享Shared Buffer Pool中的热数据页读写节点和只读节点通过DSS API和DSS Server的协同访问底层共享存储中的持久化的数据
负责数据库内核资源,主要包括页面和锁,在单写集群各实例间的协调共享,同时结合Remaster和Recovery机制支撑故障场景下资源一致性保证和集群快速恢复>DCS - Distributed Cache Service分布式页面缓存服务
负责跨节点缓存页面的协调管理,各节点缓存的页面通过高速、低时延的内部网络进行跨节点传输,写节点对页面的修改操作能够不通过持久化到磁盘而被其它读节点获取,实现各节点缓存页面的实时共享
南向调用DSSAPI访问存储,横向与其他节点通信协调传输页面
DLS - Distributed Lock Service集群实例锁协调服务,实现全局数据结构的读写同步DRM - Dynamic Reform Management
实例迁入迁出管理,北向对接CM,负责DRC资源恢复和重平衡、页面恢复
DRC-Distributed Resource Catalog分布式资源目录,存储页面/锁资源
DCS中的实例角色
Owner:持有页面当前最新版本
Master: 维护页面DRO
Requester:请求页面
Copylnst:副本持有者 (Shared Copy)
DCS中的页面类型
Current Page - 当前页面(最新页面)
page已经加载到内存,Owner持有S锁,后续其它实例向master请求该page的S锁。
Master将requester标记为converting,同时通知owner发送page。
owner发送page给requester。
requester接收到page后,向master发送claim请求后,继续后续page操作。
Master处理claim请求,将requester标记为owner清除converting
##openGauss资源池化DSS简介
通过共享存储和共享内存,DSS跨节点管理文件,目录,卷和卷组及其元数据DSS向客户端提供读取和修改元数据的能力;客户端(通常是DBinstance)实质上将每个卷裸设备)作为一整个文件直接读写因此,DSS的读写性能理论上和裸设备相当,但文件管理成本比裸设备低很多使用共享内存存放元数据是为了节省总体的内存开销
openGauss资源池化E2E访问数据流程
执行流程:
在本章节中,了解openGauss资源池化架构的起源以及主要原理,资源池化内两个关键组件DMS、DSS的概念、功能和原理。以及openGauss在传统架构上进行了哪些模块的修改,来对接DMS/DSS,支持资源池化能力。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。