我正在研究将Firebird用于项目的可能性。
然而,一个潜在的问题是复制和故障转移,或者更确切地说,缺乏(主观)“好”解决方案。 Firebird常见问题解答中列出了几种可能的解决方案,但它们要么是1)以Windows为中心; 2)可怕的过时; 3)商业;或者4)没有全功能。
我看到的唯一潜在选择是FIBER,看起来不成熟; 2)可能死亡; 3)功能不全。
我已经了解了DRBD和Heartbeat,这些解决方案看起来很有前景。如果您已经拥有1)设置复制的Firebird配置,我正在寻找您的反馈;和/或2)在Firebird中使用DRBD。
任何“陷阱”,建议,提示等?
谢谢!
答案 0 :(得分:3)
Holger Klemt
* Firebird Replicated Part 1 * Firebird Replicated Part 2 o In this two sessions you will see how easy it is to implement
你自己的复制系统 Firebird数据库。基于触发器 和简单的脚本,你可以创建一个 实时备份系统。架构 允许主 - 主,主从, 多主,在线和离线 复制。复制的Firebird 任何客户端都可以使用集群 没有中断,也是在这种情况下 计划的部分硬件故障 硬件和软件维护 操作,例如切换到 一个新的Firebird版本。
答案 1 :(得分:3)
过去两年我们一直在使用 DRBD / Heartbeat / Pacemaker 解决方案来解决完全相同的问题。保持Firebird数据库正常运行和故障转移。设置实际上非常简单,我有一些建议,我会给你一个良好的开端。所以这些只是建议......
在主要/辅助设置中使用Drbd / Pacemaker的缺点是主节点终止时客户端将断开连接 ,直到辅助节点启动。必须重新连接。虽然firebird客户端应该允许连接超时,但我还没有真正找到另一种方式,它从来没有真正使用我们的应用程序(可能我们使用的应用程序或库并没有真正使用firebird连接超时)。
至于数据库复制,恐怕你必须像Hugues Van Landeghem所描述或引用它一样。我们开发了这样一个适用于触发器的应用程序。因此,将一个新行添加到表中,触发器将该条目的键复制到另一个表,该表由应用程序不断读取,该应用程序抓取该条目并将其插入另一个数据库。相当难看,但它工作得很好!我个人认为Firebird应该投入一些时间来建立自己的数据库复制系统......他们真的远远落后......
希望我的信息对你有所帮助。我还有其他问题可以随时与我联系或访问我的网站@ gefoo.org