Postgresql-xl 结构

本文介绍了分布式数据库集群中的关键组件,包括全局事务管理器(GTM)、协调器(Coordinator)和数据节点(Datanode)。GTM负责事务一致性,而Coordinator接收查询并分发到数据节点执行。Datanode则存储和处理数据,支持复制和分片模式。在高可用性设置中,通常会有GTM备用节点和GTM代理来确保故障切换的平滑进行。
摘要由CSDN通过智能技术生成

GTM

全局事务控制节点,保证集群数据一致性,与coordinator节点和datanode节点不断通信,是整个集群的核心节点,只存在一个,可以存在一个GTM standby节点,对GTM实时备份。GTM一旦故障,整个集群立刻无法访问,此时可以切换到GTM standby节点上。如果部署了GTM standby节点,就应该同时部署GTM proxy,一般和coordinator datanode部署在同一台服务器上。GTM proxy的作用,代理coordinator datanode对GTM的访问,起到减轻GTM负载的作用,另外一个重要的作用是帮助完成GTM的故障切换,当GTM发生故障后,GTM standby成为新的GTM,此时coordinator datanode节点并不需要重新指定GTM地址,只需要GTM Proxy重新连接到新的GTM地址即可。

 

Coordinator

接收数据访问请求的节点,本质上是由PG后台进程组成。接收的一条查询后,coordinator节点执行查询计划,然后会根据查询数据涉及的数据节点将查询分发给相关的数据节点。写入数据时,也会根据不同的数据分布策略将数据写入相关的节点。可以说coordinator节点上保存着集群的全局数据位置,coordinator节点可以任意扩展,各个节点之间除了访问地址不同以外是完全对等的,通过一个节点更新的数据可以在另一个节点上立刻看到。每个coordinator节点可以配置一个对应的standby节点,避免单点故障。

 

Datanode

实际存取数据的节点,接收coordinator的请求并执行SQL语句存取数据,节点之间也会互相通信。一般的,一个节点上的数据并不是全局的,数据节点不直接对外提供数据访问。一个表的数据在数据节点上的分布存在两种模式:复制模式和分片模式:复制模式下,一个表的数据在指定节点上存在多个副本;分片模式下,一个表的数据按照一定的规则分布在多个数据节点上,这些节点共同保存一份完整的数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值