我在寻找群集我的Postgres数据库时只是偶然发现了pgpool-II(只是准备在几个月内部署一个Web应用程序)。我仍然兴奋地摇晃着,但是我很紧张,因为每当我找到这样优秀的东西时,我很快就会失望。你有没有pgpool-II的经验,它会帮助我在多个虚拟机中运行我的数据库,以及后来在多个物理服务器中运行吗?我需要备份,负载平衡以及为我的数据库服务器提供更高的可用性吗?
另外,使用并行查询功能是否容易(例如,在Django中或通过Pythons psycopg2)?这对提供报告和汇总非常有用!
最后一件事:它似乎在Postgres和psycopg2之间起作用。这是对它的正确理解,所以我可以像平常一样使用psycopg2,而不考虑pgpool-II?
答案 0 :(得分:3)
pgpool-II可以正常使用它所声称的功能。它以您期望的方式适合您的应用程序和数据库;只需将psycopg2指向它,而不是直接指向数据库,然后离开。
您必须注意的主要事项是,虽然它支持许多不同类型的功能 - 复制,负载平衡,并行查询 - 但您无法一次性使用它们。听起来你可能会觉得你可以做到这一点,并且它不会那样工作。关于这个主题的文件并不是那么明确(至少英文版,我不能说原文日文版)。
例如,如果您在“主/从”模式下运行pgpool-II,以便它支持扩展读取的负载平衡,则必须使用另一个程序来实际在这些节点之间进行复制。在早期的PostgreSQL版本中,Slony是支持的复制解决方案,从pgpool-II 3.0和PostgreSQL 9.0开始,你也可以使用即将发布的新版本的Streaming Replication / Hot Standby功能。
pgpool-II是一个有用的组件,您可以通过许多有趣的方式使用它,但我怀疑它是“您需要的”,以满足您希望通过它实现的每个要求。