1

質問がありますが、使用する言葉がわかりません。

私の問題: データベースを使用して情報をストックするアプリケーションがあります。データベースは、アクセス中 (ローカル) またはサーバー (SQL Server または Oracle) 内にあります。この3種類のデータベースをサポートしています。バージョン管理と呼べるものをユーザーが実行できるようにしたいと考えています。

説明させてください: データベース 1 があります。これがマスターです。データベース 1 と同じものになるデータベース 2 を作成できるようにしたいのですが、それを他の人に渡すことができます。

この非常に複雑なデータベースのレコードを追加、変更、および削除することで、それぞれが相互に作用します。その後、データベース 1 にデータベース 2 からの変更を含める必要がありますが、変更の一部を破棄する可能性があります。

参考までに、アプリケーションはすでにマルチユーザーになっているので、このマルチユーザーを使用して、このバージョニングを忘れてみませんか? これは、データベースのコピーを別のサイトの別の会社に渡す必要があり、それらが私たちのサーバーに接続できない場合があるためです。彼らは彼らの側で働き、それから私たちは合併したいと考えています。

この種の要件を経験した人はいますか? 私たちにはたくさんのアイデアがありますが、それらのほとんどは、データベースや既存のクエリに大規模な変更を加えるなど、多くの作業を必要とします。

これは 200 万の成長中の C++ アプリなので、書き直すことはできません!

アイデアをお寄せいただきありがとうございます。

JF

4

2 に答える 2

0

お探しの用語は Database Replicationです。それをグーグルで検索して、トピックに関する詳細情報を取得できます(私の個人的な経験は限られています)。

于 2010-03-17T19:11:06.183 に答える
0

これは ical (古い SunOS カレンダー アプリ) によって既に行われています。

アプリが変更を行ったときに保存/記憶/送信するのは、データベースの内容だけではなく、実際の変更ログ (たとえば、「ID 1 のレコードを削除」、「これらのフィールドで ID 2 のレコードを更新」、「次のフィールドでレコードを挿入」) です。これらのフィールド」)

そうすれば、これらの変更を後でマスター DB に適用し、適用する前にそれらをフィルタリングすることができます

于 2010-03-17T19:07:40.380 に答える