mysql postgresql 集群方案_PostgreSQL 利用Pgpool-II的集群搭建方案(Partition+LoadBalanc

本文介绍了如何利用Pgpool-II在PostgreSQL上搭建集群,包括数据分布规则设置、节点配置、并发查询检验以及负载均衡和故障处理机制。通过设置分布函数和调整配置,实现了数据在三个节点的平衡分布和高可用性。
摘要由CSDN通过智能技术生成

分布规则决定了数据如何在各节点中分布,也就是按照“col_name” 字段的值分布。“dist_def_func” 以“col_name” 值为参数的函数,返回数据应该被储存在哪个节点的ID 。

meta-information 用来重写查询,并发查询必须重写查询以便能够将个节点返回的结果合并为一个结果。

system_db.sql 中定义的其他几个表,可以打开该文件具体参考。

定义数据分布节点

例子中的三个分布节点,分别为:192.168.1.239:5444 , 192.168.1.201:5444, 192.168.1.201:5443

在pgpool.conf 中定义这三个节点:

backend_hostname0 = '192.168.1.239'

backend_port0 = 5444

backend_weight0 = 1

backend_data_directory0 = '/usr/postgresql/data'

backend_hostname1 = '192.168.1.201'

backend_port1 = 5444

backend_weight1 = 1

backend_data_directory1 = '/usr/postgresql/data'

backend_hostname2 = '192.168.1.201'

backend_port2 = 5443

backend_weight2 = 1

backend_data_directory2 = '/usr/postgresql/data2'

定义数据分布规则

我们将定义把pgbench 生成的示例数据分布在三个数据库节点的分布规则,创建名为“bench_parallel” 的数据库,并且使用“pgbench -i -s 3” 生成示例数据。

在pgpool-II 源代码的sample 目录能够找到dist_def_pgbench.sql 文件,使用这个文件创建数据分布规则,执行如下命令:

$ edb-psql -f sample/dist_def_pgbench.sql -p 5444 pgpool

以下是dist_def_pgbench.sql 文件内容的解释。

插 入四行数据到数据表“dist_def” 中。每个数据表(前边提到过的accounts 、branches 、tellers 以及history )各自有一 个不同的分布函数。分别为branches 、tellers 、accounts 定义bid 、tid 、aid 作为他们的key-columns 字段(这几个字段也是他们的主键),history 以tid 作为key-columns

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值