基于Postgresql的可扩展的开源大数据集群数据库:Postgres-XL
Postgres的-XL是一个基于Postgresql数据库的横向扩展开源sql数据库集群,具有足够的灵活性来处理不同的数据库工作负载:
-
OLTP 写频繁的业务
-
需要MPP并行性商业智能
-
操作数据存储
-
Key-value 存储
-
GIS的地理空间
-
混合业务工作环境
-
多租户服务提供商托管环境
可扩展性
Postgres-XL(eXtensible Lattice),可以跨多个节点或者分区表,或复制它们。分区(或分布)表允许跨多个节点的写入可扩展性,以及大规模并行处理(MPP)大数据类型的工作负荷。
完全ACID
Postgres-XL是一款完全符合ACID的事务型数据库。不仅为您提供任何时候都完全一致的视图,而且使用了集群范围的多版本并发控制(MVCC)。
当你在Postgres-XL开始一个交易或查询时,你会看到整个集群范围内一致的数据。当你一个连接里读取你的数据时,甚至在没有任何锁定另一个连接里,
你可以更新相同的表。归功于全球事务标识符和快照,这些连接正在使用他们自己的版本的行。读取器和写入器互相不阻塞对方。
组件
- Global Transaction Monitor (GTM)
全局交易监测,确保群集范围内的事务一致性。 GTM负责发放事务ID和快照作为其多版本并发控制的一部分。
集群可选地配置一个备用GTM,以改进可用性。此外,可以在协调器间配置代理GTM, 可用于改善可扩展性,减少GTM的通信量。- Coordinator
协调员管理用户会话,并与GTM和数据节点进行交互。协调员解析,并计划查询,并给语句中的每一个组件发送下一个序列化的全局性计划
- Data Node