022.PGSQL-GaussDB架构
Coordinator (CN)
负责提供外部应用接口、优化全局执行计划、向Datanode分发执行计划,以及汇总、处理执行结果。
Datanode (DN)
在集群中,DN有多个。每个DN存储了一部分数据。如果DN无高可用方案,则故障时会导致该实例上的数据无法访问。因此LibrA对DN提供了高可用方案:主、备、从备。DN主、备、从备间的工作原理如下:
主、备DN同步数据期间,如果主DN突然故障不可用,备DN会升为主DN。
在原主DN恢复前,新升为主的DN会将数据日志同步到从备DN。
原主DN恢复后将成为备DN,并且会使用“从备DN”上的数据日志恢复异常期间的数据。
也就是说从备DN永远只作为从备使用,不会因为主DN或备DN故障而升级为主DN或备DN,从备只存放备DN故障时同步到从备的Xlog数据和数据通道复制产生的数据。
某项目
2个控制节点
3个数据节点
每个数据节点上5个主节点、5个备节点、5个从备节点
MD1
MD2
DN1
DN2
DN2
DN3
primary normal 主
standby normal 备
secondary normal 从备
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
2018-06-16 shell脚本中 ${ } 和 $(( )) 的区别。${ } 限定变量边界 $(( )) 加减乘除运算
2018-06-16 shell 脚本中 空格的注意问题:= 赋值两边不能有空格,而if比较判断时 = 两边必须加空格