技術解説 SQL Server 2005のエンタープライズ機能を徹底検証 コラム:データベース・ミラーリングとフェイルオーバー・クラスタリングの違い Chris Alliegro2006/04/07 Copyright (C) 2005, Redmond Communications Inc. and Mediaselect Inc |
|
SQL Server 2005 Enterprise Editionは高可用性を実現するために、データベースの冗長性とフェイルオーバー戦略を実装するに当たって2つの基本的なメカニズムをサポートする。まず、データベース・ミラーリングと呼ばれる新しい機能(2006年上半期に提供予定)は、データベースのコピーを個別のサーバ(プライマリとミラー)で管理する仕組みだ。この機能を利用すれば、アプリケーションはプライマリのサーバあるいはデータベースに障害が発生したとき、ミラーSQL Serverに直ちにスイッチできる。
|
SQL Server 2005はまた、従来のバージョンで利用されてきたフェイルオーバーおよび冗長性技術であるMicrosoft Cluster Services(MSCS)のサポートも継続する。MSCSはクラスタ向けのフェイルオーバー・ソリューションだ。クラスタ内の1台のマシンに障害が発生したとき、クライアント・アプリケーションはクラスタ内のほかのマシンにリダイレクトする。この場合、リダイレクトはアプリケーション側からはトランスペアレントな方法で行われる。
同一の目的に異なる実装
データベース・ミラーリングとクラスタリングは、いずれも冗長性によってデータベースの可用性を高めることが目的だが、実装化の技術はまったく異なり、得意とするシナリオも異なる。
■フェイルオーバー
MSCSベースのフェイルオーバー戦略は、コストのかかる特殊なクラスタリング・ハードウェアを必要とする。また、MSCSトポロジは共有ストレージがベースとなり、実際のデータベースはクラスタ内のノードが共有するストレージ・システム上に置かれる。クラスタリングをベースとするフェイルオーバー戦略は高いレベルの冗長性を実現し、データベース・ミラーリング戦略より高度な可用性を提供する。SQL Server 2005 Enterprise Editionはクラスタ内で最大8ノードの冗長性をサポートするが、データベース・ミラーリングは2つのデータベースによる冗長性にとどまる。
■データベース・ミラーリング
一方、データベース・ミラーリングは標準的なサーバ・ハードウェアで実行し、共有ストレージを必要としない。プライマリとミラーは、ともに完全に独立した相互コピーだ。こうした特性から、データベース・ミラーリングはMSCSクラスタリングより、地理的に分散したフェイルオーバー戦略に向いている。プライマリとミラー・サーバの設置されたロケーションが異なれば、サイト全体に影響が及ぶ停電やネットワークの障害などにも対応できる。ただし、データベース・ミラーリングはSQL Serverリレーショナル・データベースでのみ機能するため、Analysis Servicesなど、ほかのサービスの冗長性とフェイルオーバーにはクラスタリングが必要だ。
これら2つの技術は、クライアント・アプリケーションへの影響や要求においても異なる。例えば、クライアント・アプリケーションに対してトランスペアレントなMSCSクラスタリングと異なり、データベース・ミラーリングはアプリケーションに2台目のサーバを指定するように要求する(Microsoftの新しいデータ・アクセスAPIのADO.NET 2.0はフェイルオーバーのメカニズムを処理できるが、それでも開発者はデータベース接続を確立するとき、予備サーバを指定しなければならない)。さらにデータベース・ミラーリングの場合、プライマリとミラー・データベースが確実に同期していなければ、有効なフェイルオーバー・ツールとして機能しない。対照的に、MSCSの場合、ストレージは共有されているため、同期化の必要はない。同期化はデータベース・サーバとネットワークのリソースを少なからず消費するので、データベースのパフォーマンスに影響を及ぼし、そこにアクセスするアプリケーションも結果的に影響を受ける。
もっともクライアント・アプリケーション側から見れば、データベース・ミラーリングはトランスペアレントではなく、MSCSベースのソリューションよりパフォーマンスが落ちるとはいえ、シンプルでコストがかからない。また、データベースを集中的に利用するような特殊なアプリケーションでもなければ、パフォーマンスの低下が問題になることも少ない。従って、一般的なシナリオにおいてフェイルオーバー戦略を実装する場合、多くの企業はクラスタリング・ソリューションより、データベース・ミラーリングの方が好ましいと考えるだろう。しかし、クラスタリングが適切な選択肢であるケース(リレーショナル・データ以外や、超高速システムなどの場合)もないわけではない。
Directions on Microsoft日本語版 本記事は、(株)メディアセレクト発行のマイクロソフト技術戦略情報誌「Directions on Microsoft日本語版」から、同社の許可を得て内容を転載したものです。メディアセレクト社は2006年2月1日付けでアイティメディア株式会社と合併しました。 |
INDEX | ||
[技術解説] SQL Server 2005のエンタープライズ機能 | ||
1.一新された管理ツール | ||
2.安全なバックアップと優れた制御 | ||
コラム:データベース・ミラーリングとフェイルオーバー・クラスタリングの違い | ||
技術解説 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|