跨多个平台维护多个数据库
跨多个平台(Windows、Linux、Mac OS X 和 Solaris)维护多个数据库并使它们相互同步的最佳方法是什么? 我尝试了几个不同的程序,但似乎都不起作用!
What's the best way to maintain a multiple databases across several platforms (Windows, Linux, Mac OS X and Solaris) and keep them in sync with one another? I've tried several different programs and nothing seems to work!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为您应该问自己为什么必须经历跨多个平台维护多个数据库并使它们相互同步的麻烦。 听起来那里有很多冗余。 为什么不只拥有该数据库的一个实例,因为我确信无论如何它都可以被多个平台上的多个应用程序访问(例如通过 SOA 方法)?
I think you should ask yourself why you have to go through the hassle of maintaining multiple databases across several platforms and have them in sync with one another. Sounds like there's a lot of redundancy there. Why not just have one instance of that database, since I'm sure it can be made accessible (e.g. via SOA approach) to multiple apps on multiple platforms anyway?
为什么要经历这些麻烦? 管理层声称它更贵?
以下是如何证明他们是错误的。
选择一个数据库,将其称为“主数据库”或“记录系统”。
编写脚本以从主数据库导出数据并将其加载到副本中。 如果您有一个不错的数据库(MySQL、SQL/Server、Oracle 或 DB2),那么有一些不错的工具可以为您执行此复制。 如果您有混合数据库,则必须导出更改的数据并重新加载更改的数据。 这个想法是,这是一种单向复制:主节点到复制节点。
修复每个应用程序,一次一个,仅在主数据库中进行更新。 由于每个应用程序都有一个到数据库的 JDBC(或 ODBC 或其他)连接,因此它可以很容易地连接到主数据库。
一旦您修复了应用程序以仅更新主服务器,副本就毫无价值了。 管理层可以坚持认为拥有它们更便宜。 它们就在那里——主数据库的克隆——正是管理层所说的你必须拥有的。
您的生活更加简单,因为应用程序仅更新记录系统。 他们很高兴,因为您拥有所有克隆数据库。
Why go through the hassle? Management claims it's more expensive?
Here's how to prove them wrong.
Pick one database, call it the "master" or "system of record".
Write scripts to export data from the master and load it into your copies. If you have a nice database (MySQL, SQL/Server, Oracle or DB2) there are nice tools to do this replication for you. If you have a mixture of databases, you'll have to resort to exporting changed data and reloading changed data. The idea is that this is a 1-way copy: master to replicants.
Fix each application, one at a time, to do updates in the master database only. Since each application has a JDBC (or ODBC or whatever) connection to a database, it can just as easily be a connection to the master database.
Once you've fixed the applications to update only the master, the replicas are worthless. Management can insist that it's cheaper to have them. And there they are -- clones of the master database -- just what management says you must have.
Your life is simpler because the apps are only updating the system of record. They're happy because you have all the cloned databases lying around.