複数のプラットフォーム (Windows、Linux、Mac OS X、Solaris) で複数のデータベースを維持し、それらを相互に同期させる最良の方法は何ですか? いくつかの異なるプログラムを試しましたが、何も機能しないようです!
2 に答える
複数のプラットフォーム間で複数のデータベースを維持し、それらを相互に同期させるという面倒な作業を経なければならない理由を自問する必要があると思います。そこには多くの冗長性があるように聞こえます。とにかく、複数のプラットフォーム上の複数のアプリに (たとえば SOA アプローチを介して) アクセスできると確信しているので、そのデータベースのインスタンスを 1 つだけ持たないのはなぜですか?
なぜ面倒なことをするのですか?経営陣はそれがより高価だと主張していますか?
それらが間違っていることを証明する方法は次のとおりです。
データベースを 1 つ選び、それを「マスター」または「記録システム」と呼びます。
スクリプトを作成して、マスターからデータをエクスポートし、コピーにロードします。優れたデータベース (MySQL、SQL/Server、Oracle、または DB2) をお持ちの場合は、このレプリケーションを行うための優れたツールがあります。データベースが混在している場合は、変更されたデータをエクスポートし、変更されたデータを再ロードする必要があります。アイデアは、これが一方向のコピーであるということです: マスターからレプリカントへ。
各アプリケーションを一度に 1 つずつ修正して、master データベースのみで更新を行います。各アプリケーションにはデータベースへの JDBC (または ODBC など) 接続があるため、マスター データベースへの接続も同様に簡単です。
マスターのみを更新するようにアプリケーションを修正すると、レプリカは役に立たなくなります。経営陣は、それらを持っている方が安いと主張することができます. そしてそこにあるのは、マスター データベースのクローンであり、管理者が必要だと言っているものです。
アプリは記録システムを更新するだけなので、あなたの生活はよりシンプルになります。複製されたデータベースがすべて転がっているので、彼らは満足しています。