postgres-xc介绍

Postgres-xc介绍

声明:本文参考了一些别人写过的文章,在此表示感谢,如果你发现文章和你写的相似,那我的感谢的人也包含你。

1.什么是Postgres-XC

Postgres-XC 是一种提供写可靠性,多主节点数据同步,数据传输的开源集群方案。它包含很多组件,这些Postgres-XC组件可以分别安装在多台物理机器或虚拟机上。
写可靠性 (Write-scalable )是指可以部署多个数据库主节点,并且向这些主节点发出 update 语句,这种特性单个 Postgres 库无法提供; 多主节点 (Multi-master ):是指多个数据库都可以提供统一个完整一致的数据库视图;主节点数据同步(Synchronous):是指在一台数据库上更新操作会立刻呈现在另一台数据库中;数据传输(Transparent)是指;数据位于不同的数据库节点中,当查询数据时,不必关心数据位于具体的节点。
      可以将 Postgres-XC 配置一台或者多台主机上, Postgres-XC 数据以分布式存储,有两种方式, 即 Replication 或Distribution,当向 Postgres-XC 发送查询 SQL时, Postgres-XC 会自动向数据节 点发出查询语句并获取数据。


2.Postgres-XC特性

Postgres-XC最主要的特性是提供多主(multi-master)数据同步、读写(read/write)的可靠性。
(1)Postgres-XC可以提供多个主节点同时处理来自应用端发出的SQL语句,这些节点称为master节点,在Postgres-XC中称为“coordinator”。
(2)任何一个master节点都有全局的数据库视图,即当任何一台master接收到update语句时,其余的master节点都可以迅速看到。
(3)表可以以 replicated 或者 distributed 方式分布式存储。若表以Replicated分配存储,则每个数据节点都有完整的表数据;若表以distributed分配存储,则每个数据节点仅保留表的部分数据。
(4)Postgres-XC可以提供统一的全局数据库视图。

3.Postgres-XC组件介绍

Postgres-XC主要组件有gtm(Global Transaction Manager),  gtm_standby,gtm_proxy, Coordinator 和Datanode。

3.1 GTM

GTM是Postgres-XC的核心组件,用于全局事务控制以及tuple的可见性控制。gtm 为分配GXID和管理PGXC MVCC的模块, 在一个CLUSTER中只能有一台主的gtm。

3.2 gtm_standby

gtm_standby 为gtm的备机.

3.3 gtm_proxy

gtm_proxy为降低gtm压力而诞生的, 用于对coordinator节点提交的任务进行分组等操作. 机器中可以存在多个gtm_proxy.。

3.4 Coordinator

协调节点 (Coordinator) 是数据节点 (Datanode)  与应用之间的接口,Coordinator 节点并不物理上存储表数据,表数据以分片或者复制的方式分布式存储,表数据存储在数据节点上。当应用发起SQL时,会先到达 Coordinator 节点,然后 Coordinator 节点将 SQL分发到各个数据节点,汇总数据,这一系统过程是通过  GXID 和 Global Snapshot  来控制的。

3.5 Datanode

数据节点(datanode)物理上存储表数据,表数据存储方式分为分片(distributed)和完全复制(replicated)两种。数据节点只存储本地的数据。
3.4 Postgres-XC体系架构
 






从上图可以看出Coordinator和datanode节点可以配置为多个,并且可以位于不同的主机上。只有Coordinator节点直接对应用服务,Coordinator节点将数据分配存储在多个数据节点datanode上。
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Postgres-XL是一个强大的分布式数据库集群,可以在大规模数据环境中提供高可用性和高性能。使用Postgres-XL集群,您可以将数据分布在多个节点上,并平衡负载以提高系统吞吐量。 手动配置Postgres-XL集群需要以下步骤: 1. 安装Postgres-XL:首先,您需要在每个节点上安装Postgres-XL软件。可以通过源代码编译或使用预编译的软件包进行安装。确保每个节点的Postgres-XL版本一致。 2. 配置Postgres-XL集群:在每个节点上,您需要编辑Postgres-XL的配置文件来设置集群的参数。配置文件通常位于“$PGXL_HOME/pgxc_ctl/pgxc_ctl.conf”。在配置文件中,您需要指定每个节点的主机名和端口号,以及其他相关参数,如共享存储的路径和主节点的IP地址。 3. 初始化集群:一旦配置文件正确设置,您可以使用pgxc_ctl工具来初始化集群。该工具位于“$PGXL_HOME/pgxc_ctl/pgxc_ctl”。在pgxc_ctl命令行中,您可以执行“init all”命令来初始化集群。此操作将创建必要的数据库对象和配置表,以管理集群。 4. 启动集群:一旦初始化完成,您可以使用pgxc_ctl工具来启动集群。在pgxc_ctl命令行中,您可以执行“start all”命令来启动集群。此操作将启动每个节点上的Postgres-XL进程,并将其连接到集群。 5. 验证集群:一旦集群启动,您可以使用任何标准的PostgreSQL客户端工具连接到集群,并执行SQL查询。您还可以使用pgxc_ctl工具来检查所有节点的状态,并确保它们正常运行。 6. 扩展集群:如果您需要扩展Postgres-XL集群以支持更多的节点和更大的数据库负载,您可以使用pgxc_ctl工具来添加新的节点和重新平衡数据。具体的扩展步骤取决于您的集群架构和需求。 总结而言,手动配置Postgres-XL集群需要安装软件、编辑配置文件、初始化集群、启动集群、验证集群以及可能的扩展集群。这些步骤可以确保您的Postgres-XL集群正确设置并可用于处理大规模数据工作负载。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值