我目前有两个SOA应用程序(soa1和soa2),每个都有自己的数据库。我想创建第三个应用程序(report1),它以某种方式合并这些数据库并提供报告。我在想,如果我能让soa1和soa2使用WAL-E,那么report1可能会成为一个读取奴隶,我可以使用多租户解决方案。
我希望在soa1和soa2之间加入数据,因此在单个查询中访问这两个数据非常重要。
我认为有三种方法可以做到这一点
我甚至不知道我是否可以在不同的模式下将两个单独的WAL读入数据库...但如果可以的话,我认为我必须使用选项1,因为我认为heroku不会支持我想做的事情......
除非所有这些,否则有没有人对如何实现这一点有任何其他想法?
答案 0 :(得分:3)
使用PostgreSQL的内置二进制复制不能做到这一点。它不能合并多个归档流,也不太可能这样做。
我们正在进行可以执行此操作的逻辑复制(我现在正在测试它)但它需要PostgreSQL的补丁,并且在PostgreSQL 9.4之前将无法使用未修补的PostgreSQL(9.3即将推出)。
与此同时,您可以使用Bucardo,Slony-I等基于触发器的复制解决方案来实现此类任务。这可能对Heroku构成挑战,因为您无法直接在Heroku数据库实例上运行自己的进程;您可能必须从您自己的服务器远程运行复制代理。