P、S1、S2、S3など、いくつかのデータベースがあるとします。
P (パブリッシャー) には、 S1、S2、および S3 (サブスクライバー)でレプリケート (複製および同期) する必要があるいくつかのテーブルがあります。これらのテーブルのコピーは読み取り専用になります。さらに、コピーは S1、S2、S3 などの他のテーブルによって (外部キーを介して) 参照されます。
例えば、
- P にはテーブルP.O1とP.O2があります。S1 にはS1.O1_copy、S1.O2_copy、およびS1.OTHERがあり、S1.OTHERは S1.O1_copy を参照します。
あなたの経験から、このシナリオではSQL Server トランザクション レプリケーション(私の知る限り、これはログベースのレプリケーションです) を使用しても問題ありませんか? または、トリガーベースのレプリケーションを使用する方がよいでしょうか? ただし、新しいサブスクライバー (データベース) が追加されるたびにトリガーを更新する必要があると思います。
レプリケートする必要がある P のテーブルはめったに更新されませんが、データの一貫性を確保するために、更新操作はトランザクションである必要があります (レプリカからの読み取りは、要求されたデータの最新のスナップショットを返す必要があります)。
ありがとうございました :)