pg_auto_failover中的Citus优化
pg_auto_failover中的Citus优化
为何发表这篇文章?
pg_auto_failover将对citus优化的部分功能代码进行了删除,因此您无法使用,需要对代码进行研究后并改写才可以。你可以将citus的集群都当成普通的单机PostgreSQL管理也可以
[CitusDB中国]站主,PostgreSQL粉丝,现从事Citus研发工作
愿Citus在中国发展的越来越好
专注于Citus/PostgreSQL技术分享
pg_auto_failover将对citus优化的部分功能代码进行了删除,因此您无法使用,需要对代码进行研究后并改写才可以。你可以将citus的集群都当成普通的单机PostgreSQL管理也可以
[CitusDB中国]站主,PostgreSQL粉丝,现从事Citus研发工作
愿Citus在中国发展的越来越好
[CitusDB中国]站主,PostgreSQL粉丝,现从事Citus研发工作
愿Citus在中国发展的越来越好
下述比较只是对功能的对比,而非使用体验易用性等等其他特性!!!
Patroni未纳入对比,Patroni需要引入etcd,而我不希望引入过多的产品,那样会增加复杂度也会增加更多的不确定性,可控性更是一个挑战
[CitusDB中国]站主,PostgreSQL粉丝,现从事Citus研发工作
愿Citus在中国发展的越来越好
pg_auto_failover是PostgreSQL的扩展,用于监视和管理postgres集群的故障转移。它针对简单性正确性和业务连续性进行了优化。
[CitusDB中国]站主,PostgreSQL粉丝,现从事Citus研发工作
愿Citus在中国发展的越来越好
本文档主要集中在Repmgr的功能调查上,详细的配置参数和部分原理并为进行编写,有需要的朋友可以自行仔细查看。
[CitusDB中国]站主,PostgreSQL粉丝,现从事Citus研发工作
愿Citus在中国发展的越来越好
8.3版本增加的adaptive执行器,自动选择real-time或是task-tracker的执行器,一个非常值得升级的版本
将报错的AllocSetContextCreate 函数更改为AllocSetContextCreateExtended函数
[CitusDB中国]站主,PostgreSQL粉丝,现从事Citus研发工作
愿Citus在中国发展的越来越好
test=# select n.nodename, n.nodeport, sum(foo.result::int4) from (select * from run_command_on_shards('aa', 'select count(*) from %s')) as foo, pg_dist_placement p, pg_dist_node n where foo.shardid=p.shardid and p.groupid = n.groupid group by n.nodename, n.nodeport;
nodename | nodeport | sum
-----------+----------+------
localhost | 1601 | 4975
localhost | 1602 | 5025
(2 rows)
test=# select count(*) from aa;
count
-------
10000
(1 row)
[CitusDB中国]站主,PostgreSQL粉丝,现从事Citus研发工作
愿Citus在中国发展的越来越好
extension是PostgreSQL的扩展模块,用于扩展PostgreSQL本身所欠缺的功能。
[CitusDB中国]站主,PostgreSQL粉丝,现从事Citus研发工作
愿Citus在中国发展的越来越好