【发布时间】:2011-06-01 20:57:43
【问题描述】:
我不是 DBA;我是基于企业数据库的应用程序的主要开发人员。
我目前正在寻找一些新机器来升级我们现有的企业数据库。目前,我们在 DR 站点上运行带有数据库的 Postgres 8.4,该数据库通过前雇员执行的一些自定义 rsync 工作定期接收更新。
我们试图解决的主要问题之一是两个全球办事处之间的延迟。我们在纽约有员工,在伦敦有员工。目前,伦敦员工遭受了我们 VPN 管道的命运。我真的无法改变那个基础设施。
我想做的是迁移到 Postgres 9 并设置流复制。奴隶将在伦敦办公室,这将减轻用户的阅读问题。我预见的问题是写入从机(不确定PG如何处理这个,我的理解是从机处于只读模式)。理想情况下,写入将由数据库本身发送到纽约的主服务器(伦敦的写入非常罕见,但必要)。此外,我可以设置故障转移以使其充当热插拔备份(替换 DR)。同样,所有内容都包含在 Postgres 配置中,无需额外代码。
这是我理想化的解决方案。我离我有多远?这是可能吗?
我对这个主题的广度有点不知所措,Google 并没有真正帮助我。我会感谢一些经验丰富的 DBA 提供的任何建议,包括轶事、相关文档或示例。
目前,如果相关的话,我们正在使用 SQLAlchemy 作为数据库的主要接口。这确实意味着我们不依赖于 Postgres。
谢谢大家。
【问题讨论】:
-
如果有人明白这一点:Postgres 最终添加了主/主复制,这是我们最终使用的。在此之前,我在关键表上使用了一些带有时间戳的自定义代码来创建增量集并更新数据库。每晚(亚洲时段)使用先前的 rsync 方法完全同步数据库。 pgpool 的建议虽然不错,但在池塘的两边都有延迟。我可能配置错误,但这不是一个理想的解决方案。
标签: postgresql streaming replication database-backups