本文的分布式Postgresql集群是通过citus扩展实现的,Citus是PostgreSQL的扩展(not a fork),采用shared nothing架构,节点之间无共享数据,由协调器节点和Work节点构成一个数据库集群。相比单机PostgreSQL,Citus可以使用更多的CPU核心,更多的内存数量,保存更多的数据。通过向集群添加节点,可以轻松的扩展数据库。
Citus支持新版本PostgreSQL的特性,并保持与现有工具的兼容 Citus使用分片和复制在多台机器上横向扩展PostgreSQL。它的查询引擎将在这些服务器上执行SQL进行并行化查询,以便在大型数据集上实现实时(不到一秒)的响应。
其实我了解到citus没几个月,当时因为程序不太支持Hive(后端的包没给对Hadoop的版本)就准备使用其他的数据库做数据仓库,几经抉择选中了Postgresql,而为了能支撑“大量”的数据就去找该数据库搭建集群的教程。
难受的是,Postgresql主从我几次折腾还是没能成功,虽然主从模式没有成功但功夫不负有心人让我找到了Citus。当时我只是基于测试的目的只在虚拟机上面搭建了一个简单的集群就搁置了,这不最近因为需要使用Postgis扩展来处理地理数据了,本来是打算使用OpenGauss搭建集群的,苦于arm架构下二进制包是openeuler系统的,暂时不得不使用Postgresql来解决问题了。
于是又只好对Citus进行一番测试了,苦于不能在实际的arm环境上面进行测试,下面的“教程”是在x86架构下进行的。。。。。。
继续阅读Centos7搭建分布式Postgresql集群(Citus MX)来处理地理数据(PostGIS)