在多个平台(Windows,Linux,Mac OS X和Solaris)上维护多个数据库并使它们保持同步的最佳方法是什么? 我尝试了几个不同的程序,似乎没有任何工作!
我想你应该问自己,为什么你必须经历在多个平台上维护多个数据库的麻烦,并让它们相互同步。 听起来这里有很多冗余。 为什么不只是有一个该数据库的实例,因为我确定它可以在多个平台上访问多个应用程序(例如通过SOA方法)?
为什么要经历这个麻烦? 管理层声称它更昂贵?
以下是如何证明他们错了。
选择一个数据库,称之为“主”或“记录系统”。
编写脚本以从主服务器导出数据并将其加载到您的副本中。 如果你有一个很好的数据库(MySQL,SQL / server,Oracle或DB2),有很好的工具可以为你做这个复制。 如果你有数据库的混合,你将不得不求助于导出更改的数据和重新加载更改的数据。 这个想法是,这是一个单向复制:主从复制。
修复每个应用程序,一次只能在master数据库中执行更新。 由于每个应用程序都有一个连接到数据库的JDBC(或ODBC或其他),所以它可以很容易地连接到主数据库。
一旦你修复了应用程序只更新主,副本是毫无价值的。 管理层可以坚持让他们更便宜。 在那里,他们是 – 主数据库的克隆 – 正是管理层说你必须具备的。
你的生活更简单,因为应用程序只是更新记录系统。 他们很高兴,因为你拥有所有的克隆数据库。