基于Postgres-XL的mpp分布式方案

Postgres-XL是一个开源数据库集群,适用于OLAP应用,采用MPP架构。它提供完全的ACID支持,支持JSON和XML格式,但需要外部机制实现高可用性。Postgres-XL的架构包括GTM、GTM-Proxy、Coordinator和Datanode,其中GTM负责事务的ACID属性,Datanode存储数据并执行SQL任务。
摘要由CSDN通过智能技术生成

1简介

Postgres-XL全称为 Postgres eXtensible Lattice,是一个横向扩展的开源数据库集群,是TransLattice公司及其收购数据库技术公司StormDB的产品。

Postgres-XC更适合oltp型应用。

Postgres-XL基于Postgres-XC,更适合olap型应用。

1.1功能特性

license:Mozilla PublicLicense许可,允许将开源代码与闭源代码混在一起使用。

完全的ACID支持。

可横向扩展的关系型数据库(RDBMS)。

支持OLAP应用,采用MPP(Massively Parallel Processing大规模并行处理系统)架构模式。

支持OLTP应用,读写性能可扩展。

集群级别的ACID特性。

多租户安全。

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

事务处理与数据分析处理混合型数据库。

支持丰富的SQL语句类型,如关联子查询。

支持绝大部分PostgreSQL的SQL语句。

分布式多版本并发控制(MVCC:Multi-version Concurrency Control)。

支持所有支持PostgresSQL类型的驱动JDBC, ODBC, OLE DB,Python,Ruby,perl DBI,Tcl。

1.2功能不足

需要使用外部机制实现高可用,如pg流复制、Corosync/Pacemaker等。

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

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

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

2Postgres-XL架构


由GTM、GTM-Proxy、Coordinator、Datanode组成。

    GTM(Gloable Transaction Manager)负责提供事务的ACID属性;

    Datanode负责存储表的数据和本地执行由Coordinator派发的SQL任务;

    Coordinator负责处理每个来自Application的SQL任务,并且决定由哪个Datanode执行,然后将任务计划派发给相应的Datanode,根据需要收集结果返还给Application;

    GTM通常由一台独立的服务器承担,GTM需要处理来自所有GTM-Proxy或者Coordinator和Datanode的事务请求。

     每台机器最好同时配置一个Coordinator、一个Datanode与GTM-Proxy。

     每台机器同时配置一个Coordinator和一个Datanode,可以负载均衡,同时降低网络流量。GTM-Proxy会减少GTM的负载,将Coordinator和Datanode上进程的请求和响应聚集到一台机器上,同时会帮助处理GTM失效的情况。

     GTM可能会发生单点故障,可以配置一个GTM-Standby节点作为GTM的备用节点。

2.1协调器(Coordinator)

处理客户端连接。

分析查询语句,生成执行计划,并将计划传递给数据节点实际执行。

对数据节点返回的查询中间结果集执行最后处理。

管理事务两阶段提交(2PC)。

存储全局目录(GlobalCatalog)信息。

2.2数据节点(DataNode)

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

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

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

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

2.3全局事务管理器(GTM)

全局事务管理器(GTM:Global Transaction Manager)

全集群只有一个GTM节点,会有单点故障问题,可以配置StranBy热备节点保证高可用。

通过部署GTM Proxy,解决GTM性能瓶颈。

提供事务间一致性视图。

处理必须的MVCC任务:

     transaction IDs 事务ID。

     snapshots 数据快照,MVCC使用。

管理全局性数据值:

     timestamps 时间戳。

     sequences 序列对象。

2.4GTM Proxy


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

Ø  协调器、数据节点直接与GTM Proxy交互替代GTM,它做为后端与GTM间的中间人。

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

Ø  获取transaction ids(XIDs)范围。

Ø  获取数据快照。

2.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值