私は、2 つの別々のサイトとしてデプロイされた ASP.NET Web アプリケーションに取り組んでいます。各サイトは、同じ (同じスキーマ) ORACLE データベース (10g) の独自のインスタンスによって支えられていますが、各データベースには「個別の」データが含まれています。一方のサイトには「セキュア データ」のみが含まれ、もう一方のサイトには「オープン データ」のみが含まれます。セキュアなサイトとセキュアなデータを見ることができるのは少数のユーザーだけですが、オープン サイトは企業の大部分が利用できます。
セキュア サイトのユーザーは、セキュア サイトからセキュア データとオープン データの両方を表示できることを望んでいます。さらに、彼らはオープン データを変更できるようにしたいと考えており、セキュア サイトからオープン データへの変更をオープン サイトに伝達し、それに応じて競合を処理する必要があります。
安全なユーザーのために安全でオープンなデータを表示する必要があるストアド プロシージャに関連付けられたレポートがあるため、データベースのみのソリューションを期待しています。
それに応じて、データが安全であるとマークされていると想定できます (Y/N)。
私たちが進んでいる現在の道は、望ましいとは言えません。セキュア データベースを変更して、開いているデータベースへのデータベース リンクを含める必要があります。また、セキュア データベースに追加のビューを追加して、データベース リンクを介してセキュア データとオープン データを「結合」します。同時に、安全なサイトの元のストアド プロシージャをオーバーホールして、CRUD 操作を処理します。
if (someRecord.IsSecure = 'Y')
update secure data;
else
update open data;
先に進む前に、レプリケーションなど、この問題を解決するためのより良い方法があるかどうかを確認したいと思いました.
マルチマスターレプリケーションを見てきました。これは正しい道のように思えますか? この種のシナリオに直面した人はいますか?