2009-01-08 120 views
10

现在我们使用PostgreSQL 8.3(在Linux上)作为我们的Ruby on Rails Web应用程序的数据库后端。考虑到在PostgreSQL数据库中我们主要使用行级别阻塞和PL/PGSQL,我们可以采用什么来保护我们的数据 - 我的意思是工具,包,脚本和策略 - 成功复制数据库并构建多级数据库,主组合?PostgreSQL复制策略

我会欣赏主从建议。例如,如果我将几个运行Apache/Ruby的应用程序服务器实现更高的性能,并在最后部署多个数据库服务器,那么有没有办法在PostgreSQL中构建多主复制?

现在我们使用PostgreSQL WAL机制将数据备份到文件系统。

非常感谢。

回答

12

有几种工具可用于主 - 从(和主 - 多平面)场景,通常是基于触发的。已经提到了Slony-I(稳定稳固,但有点难以操作)。与Slony-I有问题的人写了 Londiste(Skype团队)和PyReplica。呸,我只是发现 Mammoth已经开源

对于多主机有Bucardo(注:它不是抛光) 或商业产品 - 由ContinuentCyberTec例如。

1

我虽然Postgres-R看起来很有希望,但是,它仍在发展中。

它被认为是稳定的,并声称是一个与标准问题整合的潜力,但其尚未实现。

1

晚的答案,但有PostgreSQL的异步主 - 主复制一个新的开源软件(也适用于MySQL的): rubyrep

重点是易于安装。 披露:我写了。

+0

很酷...我正在尝试。 – Bharath 2009-06-10 09:49:45

2

嗯,Bucardo真的不错,稳定,相较于这里的其他人。它可以像基于Perl的复制系统一样精致,并且支持主从式以及多主复制,并带有有趣的冲突解决概念。

如果您需要简单的主从代表,我建议Londiste,但对于多主人的需求,Bucardo是唯一可以接受的解决方案恕我直言。