Postgres-XL介绍

  Postgres-XL是一个可横向扩展的开源数据库集群,基于Postgres-XC,而Postgres-XC又是基于PostgreSql。PostgreSQL许可证是一种自由开源许可证,类似于BSD或MIT许可证。

Postgres-XL功能:

数据库集群;

可横向扩展;

提供多种表分片策略;

采用MPP架构模式(OLAP),可以与OLTP混合使用。

 

Postgres-XL特性:
可横向扩展的关系型数据库(RDBMS);

完成支持集群级别的ACID;

集群范围的一致性(MVCC);

即支持OLAP应用(MPP架构模式),也支持OLTP应用(读写性能扩展);

多租户安全;

支持分布式Key-Value存储、支持JSON和XML格式。

 

但是也存在一些不足的地方:

内部没有实现高可用机制,需要借助外部机制来实现高可用,如pg流复制、Corosync/Pacemaker等。

增删节点/重新分片数据(re-shard)的比较复杂。

数据重分布(redistribution)期间会锁表。

某些外键、唯一性约束功能欠缺

 

Postgres-XL架构图

主要由GTM、GTM-Proxy、Coordinator、Datanode几个部分组成。

全局事务管理器GTM

全集群只有一个GTM节点,为了防止该节点出现单点故障影响整个集群,需要配置备节点来保证高可用。

可以通过部署GTM Proxy,来解决GTM性能瓶颈问题。

GTM提供事务间一致性视图。

它为Postgres-XL数据库集群中的每个事务提供全局事务ID和快照。

它还提供一些全局值,如sequence和全局时间戳。

 

全局事务管理器代理GTM-Proxy

与协调器(Coordinator)和数据节点(DataNode)在一起运行;

后端(协调器、数据节点)用它替代GTM,直接与它交互,它做为后端与GTM间的中间人;

将对GTM的请求分组归集,多个请求一次提交给GTM;

获取transaction ids(XIDs)范围;

获取数据快照。

 

协调器Coordinator

Coordinator是Postgres-XL对外数据访问的入口,可以配置多个。但是Postgres-XL并没有提供负载均衡的机制,需要另外使用其他工具来实现。如上图中的Load Balancer并不属于Postgres-XL。

Coordinator节点维护着数据的存储信息,但不存储数据本身。接收到一条SQL语句后,Coordinator解析SQL,制定执行计划,然后分发任务到相关的Datanode上,Datanode返回执行结果到Coordinator,Coordinator整合各个Datanode返回的结果,最后返回给客户端。

 

数据节点DataNode

实际存储表和索引数据,数据自动打散分布(或者复制)到集群中各数据节点;

只有协调器连接到数据节点才能可读写,直接连接只能读;

执行协调器下传的查询,一个查询在所有相关节点上并行查询;

两个数据节点间可建立一对一通讯连接,交换分布式表关联查询的相关信息。

 

 

Postgres-XL数据分布

Postgres-XL数据分布有两种模式: 复制表(Replicated Table)、分布表(Distributed Table)。

  • 复制表

表的数据在每一个DataNode上都是完整的。

当Coordinator与DataNode部署在一台机器上时,查询时只需要本地读取,减少网络开销。不适宜写操作频繁的表。

  • 分布表

表的数据存放在多个DataNode上,组成一张完整的表。可用的分片策略方式Hash、Round Robin、Modulo。

 

PostgreSQL、Postgres-XC、Postgres-XL之间的区别

 

Postgres-XL相对于PostgreSQL的优缺点

  Postgres-XL目前还存在很多限制,具体请查看官服说明

 

转载于:https://www.cnblogs.com/plairst/p/9896696.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值