概述

postgresql-xl类似于greenplum,都是MPP数据库,postgresql-xl一直都是开源的,但开源社区活跃度不是很高,gp在前两年也开源了,两者各有优缺点,在性能上有些方面不相上下,但gp要相对稳定一些。据称都支持海量数据,但这两种数据在实际使用过程中的数据量,都有一定的上限。本文介绍postgresql-xl的基本概念,在几年前对该数据库进行过调研,这里做个整理,分享出来,共大家参考。

基本特性

Postgres的-XL是一个基于PostgreSQL数据库的可以横向扩展的开源SQL数据库集群,具有足够的灵活性来处理不同的数据库工作负载:

  • OLTP 写频繁的业务
  • 需要MPP并行处理的商业智能
  • 操作数据存储
  • Key-value 存储
  • GIS的地理空间
  • 混合业务工作环境
  • 多租户服务提供商托管环境

可扩展性

Postgres-XL(eXtensible Lattice),可以跨多个节点或者分区表,或复制它们。分区(或分布)表允许跨多个节点的写入可扩展性,以及大规模并行处理(MPP)大数据类型的工作负荷。
复制的表是典型的不经常改变的静态数据。复制数据,允许读可扩展性。

完全ACID(Atomicity, Consistency, Isolation, Durability)

Postgres-XL是一款完全符合ACID的事务型数据库。不仅为您提供任何时候都完全一致的视图,而且使用了集群范围的多版本并发控制(MVCC)。
当你在Postgres-XL开始一个交易或查询时,你会看到整个集群范围内一致的数据。当你一个连接里读取你的数据时,甚至在没有任何锁定另一个连接里,
你可以更新相同的表。归功于全球事务标识符和快照,这些连接正在使用他们自己的版本的行。读取器和写入器互相不阻塞对方。

组成

Global Transaction Monitor (GTM)

全局交易监测,确保群集范围内的事务一致性。 GTM负责发放事务ID和快照作为其多版本并发控制的一部分。
集群可选地配置一个备用GTM,以改进可用性。此外,可以在协调器间配置代理GTM, 可用于改善可扩展性,减少GTM的通信量。

Coordinator

协调员管理用户会话,并与GTM和数据节点进行交互。协调员解析,并计划查询,并给语句中的每一个组件发送下一个序列化的全局性计划

Data Node

数据节点是数据实际存储的地方。数据的分布可以由DBA来配置。为了提高可用性,可以配置数据节点的热备以便进行故障转移准备。

在这里插入图片描述

参考文献:
http://www.postgres-xl.org/overview/
http://www.slideshare.net/mason_s/postgres-xl-scaling

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐