ミラーリングとフェールオーバークラスタリングの主な違いは何ですか?
それぞれがどのような問題を解決し、どのようなシナリオでそれぞれが他の問題よりも推奨されますか?
ミラーリングは、ユーザーデータベースの高可用性を高め、リアルタイムで維持されるソースデータベースのコピーを作成するテクノロジーです。これは、すべてのアクティブなトランザクションログレコードをミラーサーバーに配信することによって行われます。
から [〜#〜] msdn [〜#〜] :
"データベースミラーリングは、データベースの可用性を向上させるための主なソフトウェアソリューションです。ミラーリングはデータベースごとに実装され、完全復旧モデルを使用するデータベースでのみ機能します。シンプルで一括ログ復旧モデルはデータベースミラーリングをサポートしていません。データベースミラーリングはSQL Server StandardおよびEnterpriseでサポートされています。 "
クラスタリングは、SQL Serverインスタンス全体に高可用性を提供するテクノロジーです。つまり、2つのサーバーが同じ構造(OS、アプリケーション、サービス、サービスパック、パッチなど)と共有ストレージ(データ自体)を持つことが可能です。
から [〜#〜] msdn [〜#〜] :
"SQL Serverフェールオーバークラスタリングは、SQL Serverインスタンス全体の高可用性サポートを提供します。SQLServerフェールオーバークラスターは、Windows Serverフェールオーバークラスターの上に構築されます。SQLServerフェールオーバークラスターを作成するには、次のものが必要です。まず、基盤となるWindows Serverフェールオーバークラスターを作成します。 "
これは、MSが本日提供する高可用性に関するMicrosoft Virtual Academyのコースです。 Microsoftの高可用性ソリューションについて 。
ミラーリングはデータベースレベルです。欠点は、自動フェールオーバーで高安全性に設定されている場合でも、プリンシパルからミラーサーバーにジョブ、ログイン、アラートなどをコピーするスクリプトが必要になることです。クライアントは、フェイルオーバーを容易にするために、接続文字列にミラーの詳細を含める必要があります。ミラーリングの利点には、破損したページの自動修正が含まれ、ストレージはSPOFではありません。ミラーリングを使用した自動フェイルオーバーは、クラスタリングを使用した場合よりも高速であることがわかりました(完全なサービスの再起動が必要です)。
クラスタリングは、システムデータベースを含むレベルフェイルオーバーを含む完全なものを可能にします。クライアントには透過的です。クラスタリングの短所は、共有ストレージが必要になることです。通常、SANこれは、SPOFであり、多くの場合、高額です。