4

複数の大陸で使用されている Web アプリがあります。大規模なレポートを実行すると、基礎となるトランザクション DB がロックアップします。したい:

  1. レポート DB に SQL Server 2005 データベースのリアルタイムを作成します。
  2. すべてのレポートをレポート DB に送信します

理論的には、これにより、挿入と更新のトランザクション ロックが防止されます。レポート DB が一時的にロックされても、トランザクションが継続する限り問題ありません。レポート DB は、負荷が軽いときに新しいトランザクションを受け取ることができます。トランザクション DB のほぼリアルタイムのコピーを維持する最善の方法は何ですか? レプリケーション、ミラーリング、またはその 2 つの組み合わせを使用する必要がありますか? 従うべき一般的なガイドラインは何ですか?

ありがとう!

4

2 に答える 2

3

ミラーリング=DB全体、レプリケーションは通常、 「公開」するものに基づくサブセットです

この場合、ほぼリアルタイムが必要な場合はレプリケーションを使用します。レポートが数分遅れる可能性がある場合、またはレポートが一定期間「静的」である必要がある場合は、ミラーリングを検討します。

于 2010-11-17T19:03:16.540 に答える
2

この種のアーキテクチャを実装するには、 SQLServerレプリケーションを使用します。たとえば、メインのデータベースサーバーからレポートサーバーにデータを複製します。リアルタイムではありませんが(システムはほとんどありません)、非常に近くなる可能性があります。

SQL Serverレプリケーションにはいくつかの種類があり、サーバー間でのレプリケーションが必要になる可能性があります。データウェアハウジングとレポートに関するこの記事も参照してください。それはあなたが直面している正確なシナリオとあなたの目標を説明しています:

設計上、トランザクションレプリケーションはこのシナリオの主要な要件に対応しています。

  • トランザクションの一貫性
  • 低遅延
  • ハイスループット
  • 最小限のオーバーヘッド
于 2010-11-17T19:00:40.350 に答える