pg的复制、高可用、负载均衡相关集群,这儿写个概要备查。
pg有以下各种基于复制的集群方案,多数配过,有的当时没有整理。现在网上也有很多这些集群配置的文档,在这篇文档后找完备点的集中一下备档,不用每次用时到处查。
基于流复制的功能内置、触发器主从复制slony,基于sql复制的pgpool-II,其它如同步多主复制EDB MMR(这个也支持异步复制,玩过的时间有点长了,后面要找到当年记录再总结),异步多主复制Bucardo,文件系统级别复制DRDB,共享磁盘失败切换NAS以后看情况补。
slony-i主从复制:主服务器异步发送数据改变到备服务器。基于触发器,表行级复制;主服务器可能overhead;不用等其它服务器可以结束事务;只有异步复制,可能丢失数据;备服务器支持只读查询;表级粒度;无冲突;需要开发人员维护写入都请求master,读请求都走slave机器???
现在有了内置的流复制功能,以后应该鲜有用slony的了吧!
pgpool-II:复制sql语句;支持多主;无主服务器overhead;所有服务器完成方可结束事务;不会丢失数据;从服务器支持只读查询;库级别复制???;需要冲突解决机制
流复制
复制wal日志;无主服务器overhead;异步复制不用等其它服务器可以结束事务;同步复制不会丢失数据;从服务器支持只读查询;实例级粒度;无冲突
另外,plproxy是skype开发的一个数据库组件。虽然plproxy只能做水平分片,把它也放到这儿。plproxy是skype开发的数据库组件。在使用过程中,需要考虑带宽和本地缓存等问题。它限制代理库数是2的次方。proxy在自定义的函数上实现转发功能。这要求实际应用中 需要把大量的业务逻辑放到Postgresql服务器端来完成,降低了灵活度。也给以后可能的数据库迁移带来了挑战。
参考:
http://www.postgresql.org/docs/9.3/static/different-replication-solutions.html
http://www.postgresql.org/docs/9.3/static/hot-standby.html
http://www.slony.info/documentation/cmds.html
http://www.pgpool.net/mediawiki/index.PHP/Main_Page
http://plproxy.projects.pgfoundry.org/doc/tutorial.html#_putting_it_all_together
-----------------
转载请著明出处: blog.csdn.net/beiigang