1

あるデータベースから他の複数のデータベース (別のサーバー上) にデータを複製したいと考えています。これらのテーブルを他のサーバー上の共有データベースにレプリケートし、クロスデータベース クエリで共有データベースを参照することは理にかなっていますか? それとも、他のサーバー上の個々のデータベースにレプリケートする方が理にかなっていますか? クロスデータベース結合はパフォーマンスに影響を与えますか? データベース間の制約は期待どおりに機能しますか?

共有データベースに一度レプリケートすると、レプリケーションのパフォーマンスが向上します...クロスデータベースクエリまたは制約の結果としてパフォーマンスが低下するかどうかを評価しようとしています。

編集: SQL Server ではデータベース間の制約ができないように見えますか? これが当てはまる場合、各データベースに複製する必要があります

4

1 に答える 1

2

クロス データベース クエリは、同じ DB 内よりもやや遅くなります。外部キーは同じ DB 内でのみ機能します。通常のアプローチは、各 DB (ETL など) に個別のスキーマを作成し、それらのテーブルをそのスキーマに複製することです。このアプローチは、データ マート間でディメンション テーブルを複製するときに実際によく使用されます。

cross-db アプローチを使用する場合は、トリガーを使用して制約を実装します。これは遅く複雑になる可能性があります。アプリケーションによっては、外部キーを「論理のみ」として実装し、定期的に「孤児を探す」クエリを実行して、参照整合性を処理することができます。

于 2009-11-09T19:56:01.330 に答える