高可用Windowsシステムの研究
SQL Server 2005の高可用テクノロジ編

第1回 DBシステム可用性向上の基礎知識

1.DBシステムの可用性向上の要件

デジタルアドバンテージ
資料提供、技術協力:マイクロソフト
2006/12/22
Page1 Page2 Page3

DBシステム可用性向上の基礎知識
SQL Serverの可用性向上のためのシステム構成
可用性向上のための機能と各種ツール群

 データベース・システムは、ミッションクリティカル・システムの可用性を大きく左右する核心部分である。「高可用Windowsシステムの研究」の第一歩は、ここから始めることにしよう。


ITProから見たSQL Server 2005

 Windowsプラットフォーム向けにマイクロソフトが提供しているデータベース・システムがSQL Serverである。このSQL Serverについては、およそ1年前(日本語版は2005年12月)、第3世代製品となるSQL Server 2005が発売された。このSQL Server 2005では、従来版に比較して、可用性やセキュリティ性能、エンタープライズ対応機能などが大幅に強化されている。SQL Server 2005の製品概要については、関連記事を参照されたい。

データベース・システムの可用性向上の概念

 SQL Server 2005の可用性を語る前に、まずは一般論として、データベース・システム(以下DBシステム)の可用性向上を目指すために、どのような業務要件を考えなければならないのかを整理しておこう。必要となる業務要件によって、高可用性実現のために選択すべきテクノロジは変化するからだ。以下に、DBシステムの可用性について検討すべき業務要件をまとめた。

DBシステムの可用性で検討すべき業務要件
ひとくちにDBシステムの可用性向上といっても、必要となる業務要件によって、選択すべきテクノロジなどは変化する。まずは必要な業務要件が何なのかを整理する必要がある。

耐障害要件
 DBシステムの連続稼働を阻害する障害にもいくつかの種類がある。最も典型的なものは、コンピュータ・システムの不具合から生じるもので、これにはハードウェアの故障によって発生する障害と、ソフトウェア上の問題によって発生する障害がある。ハードウェアの一部であるが、特にハードディスクについては特別な対策が必要である。高速回転するプラッタ(磁気記録ディスク)と高速移動するヘッドが物理的に作用してデータを読み書きするという機構上の理由から、ほかの部分よりも経年上の影響を受けやすいこと、万一の障害時、最悪の場合はデータの消失という重大な問題が発生するからだ。

 人的災害としては、オペレーション・ミスや、不正攻撃によるデータ改ざんなどがある。

 天災としては、地震や火災、水害などが考えられる。昨今では、局所的な天災からデータを守る目的などで、データを多重化して遠隔地に保存するディザスタ・リカバリなどの対策がある。

RPO(Recovery Point Objective)
 DBシステムでは、完了しているトランザクション情報はハードディスク上のログファイルに書き込まれる。そしてサーバ障害時などには、そのログ・ファイルを使用して、再起動時に自動的にリカバリすることで、完了したトランザクションを保障している。ただし、災害によるデータセンターの崩壊や、ディスク破損などの障害が発生した場合には、その時点までに完了しているトランザクションのいくつかが失われる可能性がある。この際、DBシステムを復旧して業務を続行するには、失われたトランザクションをバックアップから復元(リストア)しなければならない。業務再開に際して、どの時点までさかのぼってデータをリカバリする必要があるか、いい換えれば、どのくらい前までのデータを保存しておくかを示す指標がRPOである。目標復旧時点ともいう。

 可用性の観点からは、RPOの目標とする期間は、短ければ短いほど望ましい。RPOが短ければ、より少ない期間分のデータをリカバリするだけで、業務を再開できるからだ。しかしRPOを短縮するには、よりリアルタイム性の高い障害復旧技術が必要になるので(定期的なバックアップよりもミラーリング/クラスタリングを使用するなど)、システム構築にかかるコストは大きくなる。

RTO(Recovery Time Objective)
 RTOは、障害発生個所の復旧に要する時間を表す指標である。目標復旧時間ともいう。RTOに影響を及ぼす要素としては、バックアップ・デバイスの転送速度や並列度、リストア対象となるデータ・サイズなどがある。当然ながら、RTOも短いほど望ましい。前出のRPOとRTOの関係を図示すると次のようになる。

RPOとRTO
RPOは障害発生時にさかのぼってデータをリカバリする必要がある時間、RTOは障害発生から復旧にかかる時間を表す指標である。RPOにしろRTOにしろ、コストさえ許せば短ければ短いほど望ましい。

耐障害要件と必要コスト
 DBシステムの可用性向上においては、前述した耐障害要件が発生した場合に、業務に与える影響(被害損益)を算出し、致命的な状況を引き起こさないようにRPO/RTOの水準を検討する必要がある。

 前述したとおり、RPO/RTOに必要な時間は短いほど望ましい。しかし一般に、RPO/RTOの時間短縮要求が高ければ高いほど、システム構築や運用コストは高騰する。つまり、RPO/RTOの短縮化とコストは、トレードオフの関係にある。現実問題としては、RPO/RTOが業務に与える被害リスクを検討し、RPO/RTOとコストの間でバランスを取る必要がある。


 INDEX
  [高可用Windowsシステムの研究]
  SQL Server 2005の高可用テクノロジ編
  第1回 DBシステム可用性向上の基礎知識
    1.DBシステムの可用性向上の要件
      2.SQL Server 2005の冗長化構成機能
 
 [高可用Windowsシステムの研究]


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間