web-dev-qa-db-ja.com

SQL Serverでミラーリング、ログ配布、レプリケーション、およびクラスタリングを使用するシナリオは何ですか

私の知る限り、SQL Serverは可用性を高めるための4つの手法を提供しています。

要約すると、これらは主な使用シナリオだと思います:-

1)レプリケーションは、主にオンラインとオフラインのデータ同期シナリオ(ラップトップ、モバイルデバイス、リモートサーバー)に適しています。

2)ログ配布を使用して、手動切り替えを備えたフェイルオーバーサーバーを使用できます。

3)データベースミラーリングは自動フェイルオーバー技術です

4)フェールオーバークラスタリングは、高度なタイプのデータベースミラーリングです。

私は正しいですか?

ありがとう。

24
Chakra

フェールオーバークラスタリングは、ハードウェアレベルで冗長性を提供する可用性テクノロジであり、Windowsクラスタリングテクノロジの上に構築されています。つまり、SQLServerに固有のものではありません。

たとえば、プロセッサがサーバーAで爆発します。幸い、サーバーAはSQL Serverクラスターの一部であるため、サーバーBが数秒以内にSQLServerサービスの提供を引き継ぎます。これらはすべて自動的に行われ、データベースユーザーやクラスターがサービスを提供しているアプリケーションに対して透過的です。

データベースミラーリングとクラスタリングの主な違いは、SQLクラスタリングはインスタンスレベルで冗長性を提供するのに対し、データベースミラーリングはデータベースレベルで冗長性を提供することです。

次のリンクは、使用できる可能性のあるこれら2つのテクノロジーの比較を示しています。

http://msdn.Microsoft.com/en-us/library/ms191309(SQL.90).aspx

ログ配布は、より冗長なテクノロジーと見なされます。

たとえば、プライマリ環境の完全なコピーを提供するために使用できます。通常、手動でオンラインにすることができるウォームスタンバイとして使用されます。これを使用して、バックアップ戦略に追加の冗長性を提供できます。ログ配布を使用して、別の場所/サーバーに本番データベースの読み取り専用コピーを作成することにより、プライマリサーバーからレポートをオフロードすることもできます。

レプリケーションは非常に多様なテクノロジーであり、さまざまなシナリオに対応するために使用できます。その選択によって、実装されるレプリケーションの特定のタイプが決まります。

たとえば、マージレプリケーションを使用して、アプリケーションのワークロードを複数のサーバー、つまり分散処理アーキテクチャに分散することで、分散処理をサポートできます。

マージレプリケーションでは、多くの場合、その環境を比較的認識しているアプリケーションが必要です。統合環境全体でデータの一貫性を確保するために、競合の解決などの手法も考慮する必要があります。

トランザクションレプリケーションを同様の方法でログ配布に使用できますが、サブスクライバーにレプリケートされる特定のオブジェクトを制限できます。これは、レポートの目的でテーブルのサブセットのみが必要な場合に役立ちます。

これで少し問題が解決することを願っています。これらの各テクノロジに関する豊富なドキュメントは、オンラインのSQL Serverブック内で、またはGoogleで各テクノロジを検索することで見つけることができます。とはいえ、具体的な質問があれば、喜んでお手伝いさせていただきますので、お気軽にご連絡ください。

乾杯、ジョン

25
John Sansom

SQL 2008 Enterpriseには、Change Data Capture(CDC)と呼ばれるものもあり、私が働いている場所で正常に使用しています。

データベースが過度に正規化されているため、情報を取得するのが非常に困難です。レポートなどのためにこのデータを別のサーバーに複製すると同時に、データ構造を変更する必要がありました。

それは私たちにとって非常にうまく機能します。

2
mhenrixon