PostgreSQL-XL是以PostgreSQL为基础开发的由多个数据库服务器组成的数据库集群。Postgres-XL提供全局透明的事物管理以及提供读和写的可扩展能力。为了实现这些特性,Postgre-XL由以下组件组成:
GTM
GTM用于全局事物管理,其提供全局事物ID和快照。它还提供其它一些全局的值如序列和全局timestamps。
为了提升可扩展能力,每个物理服务器或则虚拟机都可以部署GTM-Proxy。GTM-Proxy通过批量提交请求和获取返回值的方式以降低与GTM的交互次数。
Coordinator
Coordinator是Postgres-XL的接入点,在一个集群中可以配置多个Coordinator。在GTM的帮组下,它们可以提供透明的全局的事物并发性和完整性。客户端应用可以选择任意Coordinator进行连接。每个Coordinator提供相同的数据库视图。
Datanode
数据库集群可以配置多个Datanode。表数据在Datanode上有两种分布方式:
- 复制(replicated):每个Datanode上都包含表的完整数据。
- 分布(distributed):数据通过hash的方式分布与Datanode上,可以指定hash的属性列。