Postgres 分布式数据库

本文介绍了Postgres-XC的分布式数据库架构,包括其核心组件如gtm、Coordinator和Datanode,以及数据存储的复制表、HASH分布和RANGE分布方式。此外,还详细阐述了安装TBase的实践过程。Postgres-XC通过share nothing架构实现读写扩展和多活能力,而TBase作为其二次开发产品,提供了更优的性能和功能。虽然TBase开源社区活跃度有待提高,但其功能丰富,包括HTAP、闪回等特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分布式数据库

聊起分布式数据库,大家第一印象估计是 谷歌的 Spanner  ,以及 TiDB。其实还有另外一种分布式 Postgres-XC (目前已经迭代到 PostgreSQL-X2 ),Postgres-XC  数据库系统主要是基于水平可伸缩的share nothing 架构,支持全局事务,表分区,复制以及查询计划在各个节点并行执行。

国内的代表作是鹅厂的 TBase 基于Postgres-XC 二次开发并且做了很大改进,在性能和功能上有比较大提升。

架构

Postgres-XC主要组件有gtm(Global Transaction Manager) , gtm_standby , gtm_proxy, Coordinator 和Datanode。

基于postgres-xc 的 tbase 架构图

从上图可以看出Coordinator和Datanode节点可以配置为多个,并且可以位于不同的主机上。只有Coordinator节点直接对应用服务,Coordinator节点将数据分配存储在多个数据节点datanode上。

gtm:全局事务管理器(Global transaction manager.), 是 Postgres-XC 的核心组件,用于全局事务控制以及tuple的可见性控制。gtm 为分配GXID和管理PGXC MVCC的模块 , 在一个集群中只能有一台主gtm。gtm_standby 为gtm的备机 。

gtm_proxy 用于对coordinator节点提交的任务进行分组等操作。一个XC 集群中可以存多个gtm_proxy 节点。

coordinator:协调节点(简称CN),对外提供接口,负责数据的分发和查询规划,多个节点位置对等,每个节点都提供相同的数据库视图;在功能上CN上只存储系统的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值