我正在对 Posgtresql 复制进行 POC。我正在使用最新版本的 postgresql,即 9.1。市场上有多种复制解决方案(PGCluster、Pgpool-II、Slony-I)。 Postgresql 还提供了内置的复制解决方案(流复制、热备和热备)。我很困惑哪种解决方案最适合我正在为其进行 POC 的金融应用程序。该应用程序将在数据库中写入大约 1.6 亿条行大小为 2.5 KB 的记录。我的问题是针对以下哪些复制解决方案适用的场景:
- 如果我需要复制仅用于备份目的
- 如果我需要扩展读取数
- 如果我需要高可用性和一致性
此外,如果您能分享 postgresql 复制解决方案的性能或经验,这将非常有帮助。
最佳答案
简短的回答是“无论您遇到什么问题,总有解决方案。”
让我们来看几个主要的。
Slony-I 是一种复制解决方案,可让您跨部分或全部数据库扩展读取。这是为了让您可以获取数据库的一部分并将其复制到您的 DMZ 中,例如用于客户报告。另一方面,这种灵 active 带来了复杂性,虽然 Slony 只允许您复制数据库的一部分,但 Slony 只允许您复制数据库的一部分……而且 Slony 的灵 active 并不止于此。它允许您跨不同版本的 Pgsql 进行复制,因此确保在主要升级期间读取查询的停机时间为零。
Postgres-XC 实际上是 PGCluster 的继承者。它为 PostgreSQL 提供 Teradata 风格的集群。如果您确实需要扩展读取和写入,这是适合您的解决方案,但同样会增加复杂性。
内置的复制解决方案最简单,允许您扩展以进行备份和写入。它确保高可用性和一致性,但重大升级需要所有节点停机。
所以问题是您需要确切地弄清楚您想要什么,然后寻求帮助以选择适合该工作的工具。当你到达那个点时,我建议你在 pgsql-general 电子邮件列表上询问。
关于java - Postgresql Replication 解决方案及其性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8664853/