ミラーリングとフェールオーバークラスタリングの主な違いは何ですか?
それぞれがどのような問題を解決し、どのようなシナリオでそれぞれが他の問題よりも推奨されますか?
ミラーリングとフェールオーバークラスタリングの主な違いは何ですか?
それぞれがどのような問題を解決し、どのようなシナリオでそれぞれが他の問題よりも推奨されますか?
回答:
ミラーリングは、ユーザーデータベースの高可用性を高め、リアルタイムで維持されるソースデータベースのコピーを作成するテクノロジーです。これは、すべてのアクティブなトランザクションログレコードをミラーサーバーに配信することによって行われます。
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ではありません。ミラーリングを使用した自動フェイルオーバーは、クラスタリングを使用した場合よりも高速であることがわかりました(完全なサービスの再起動が必要です)。
クラスタリングは、システムデータベースを含むレベルフェイルオーバーを含む完全なものを可能にします。クライアントには透過的です。クラスタリングの欠点は、共有ストレージが必要なことです。これは通常、SPOFであり、多くの場合高価なSANです。