Jump to content   日本-日本語

サーバー  >  HP Integrity NonStop サーバー 

第3のプラットフォーム、「新基幹系サーバー」の新潮流

第3回

HP Integrity NonStop サーバー

アドバンテージ
コンテンツに進む
システム担当者様が抱える悩みを解決!HP NonStopソリューションセミナー開催中!!

第3のプラットフォーム、「新基幹系サーバー」の新潮流・第3回

ニューヨーク証券取引所やNASDAQ、ロンドン証券取引所など、世界の証券取引所の95%注1 では、「NonStop SQL」と呼ばれるあまり知られていないデータベース製品が採用されていることをご存じだろうか。その最大の特徴は、「24時間365日止まらない・止めなくてよい運用が可能なこと」、そして「事実上スケーラビリティに上限がない」という2点だ。ミッションクリティカル環境に特化したこれらのユニークな能力が、特定用途においてNonStop SQLが“オンリーワン”である要因だ。ここではその独特のアーキテクチャを紹介し、新基幹系サーバーがどのようにして「ユーザから見た厳格なサービスレベル」と「ITシステムの持続可能な成長」を達成しているか明らかにする。
第3のプラットフォーム、
「新基幹系サーバー」の新潮流トップページ
第1回
第2回
第3回
世界の証券取引所の95% が採用する「止まらないデータベース」
止まらない・止めなくてよいITシステム運用
テクニカルライター 吉川和巳
注1自社調べ
   

世界の証券取引所の95% が採用する「止まらないデータベース」

データベースと聞いて、多くの方がまず思い浮かべる製品はOracleだろう。オープンシステム分野でNo.1の実績を誇るOracleは、そのゆるぎないパフォーマンスと信頼性、そして豊富な機能により、デファクトスタンダードの地位を確立している。しかし、この“IT業界の常識”も、きわめて大規模なミッションクリティカル環境では事情が異なってくる。例えばニューヨーク証券取引所やNASDAQ、ロンドン証券取引所など、世界の証券取引所の95% では、「NonStop SQL」と呼ばれるあまり知られていないデータベース製品が採用されていることをご存じだろうか。

NonStop SQLは、新基幹系サーバー「HP Integrity NonStopサーバー」が標準装備するリレーショナル・データベースである。その最大の特徴は、「24時間365日止まらない・止めなくてよい運用が可能なこと」、そして「事実上スケーラビリティに上限がない」という2点だ。ミッションクリティカル環境にピンポイントにねらいを定めたこれらのユニークな能力が、特定用途においてNonStop SQLが“オンリーワン”である要因となっている。事実、ある大手企業のシステム担当者は「止まらないシステムの構築には、NonStopサーバー以外の選択肢は考えられなかった」と説明する。

そこで今回は、従来のデータベースとは一線を画すNonStop SQLの超並列アーキテクチャのメカニズムを掘り下げ、新基幹系サーバーが描く「止まらないITインフラ」のビジョンを明らかにしたい。

Oracle RACの「シェアード・エブリシング」の長所短所

まずは、NonStop SQLの特徴的なアーキテクチャである「シェアード・ナッシング」と、Oracle 10g RACのアーキテクチャである「シェアード・エブリシング」の違いについて説明しよう。図1は、この両者を比較したものである。
 
図1:NonStop SQLとOracle 10g RACのアーキテクチャ比較
図1:NonStop SQLとOracle 10g RACのアーキテクチャ比較
  アクセスの集中にシステムの能力が追いつかず、レスポンスが大幅に低下しているようなWebサイトやITシステムは珍しくない。実のところその原因の多くは、Webサーバーやネットワークの能力不足ではなく、データベース処理能力の不足にある。なぜならWebサーバーやアプリケーション・サーバーとは違い、そもそも“データを一元管理するソフトウェア”であるデータベース・サーバーは、複数台のサーバーに分散化(スケールアウト)するのが難しいからだ。そのため通常は1台の大きなサーバーでデータベースを運用せざるを得ず、負荷の上昇に合わせてCPUやメモリを拡張(スケールアップ)するしか手だてはない。データベースがITシステムのボトルネックとなりやすい背景にはこうした事情がある。

OracleのRAC(Real Application Cluster)は、このボトルネックの問題を解消すべく開発されたテクノロジーだ。図1に示すように、Oracle RACでは複数のノードをギガビットEthernetで結び、ひとつの大きなデータベース・クラスタを構築する。各ノードは「キャッシュ・フュージョン」と呼ばれるメカニズムによりネットワーク通信を行い、それぞれの間のキャッシュ共有やアクセス調停を実施する。このキャッシュ・フュージョンにより負荷が各ノードに分散され、従来は困難であった「データベースのスケールアウト」が可能になる仕組みだ。また、いずれかのノードが障害によりダウンした場合でも、他のノードがフェイルオーバー(肩代わり)することでダウンタイムを最小限に抑えられる。

とはいえ、このOracle RACのアーキテクチャも万能ではない。Oracle RACでは、ストレージをすべてのノード間で共有する「シェアード・エブリシング」方式を採用している。すなわちディスクI/O処理については、これまでと同じ一極集中型だ。またクラスタの規模がある程度より多くなると、キャッシュ・フュージョンによるノード間通信の増加が新たなボトルネックとなり、性能向上は頭打ちとなる。これらの理由により、Oracle RACといえども完全にリニアなスケールアウトは実現が困難なのである。実際、大規模な事例でも数ノード〜数10ノード程度のクラスタ構成が一般的で、数100〜数1000ノードによる超並列クラスタは実現が困難である。

NonStop SQLの「シェアード・ナッシング」

これに対し、NonStop SQLが採用する「シェアード・ナッシング」方式では、クラスタを構成するNonStopサーバーの各ノードがそれぞれに独立したストレージを占有することで、ディスクI/O処理についても完全な分散化が可能である。またOracle RACとは異なりノード間でキャッシュを共有しないので、キャッシュ・フュージョンのような高負荷のネットワーク通信は不要だ。このように、スケールアウトにともなうボトルネック発生を可能な限り抑えるべく設計されたアーキテクチャである。ちなみにNonStopサーバー間の通信は、独自のインターコネクト技術「ServerNet」によって実装されている。一般的なギガビットEthernetではネットワーク負荷に応じてCPU負荷も上昇するのに対し、ServerNetではネットワーク負荷がCPUから切り離されているのが特徴である。

これらのユニークなテクノロジーによって、NonStopサーバーではきわめて大規模なクラスタでもリニアなスケールアウトを達成している。最大4,080CPUからなる巨大クラスタを構成可能で、実際に国内でも1,000CPU以上での導入事例が存在する。文字通り“ケタ違い”のスケーラビリティを実現するNonStop SQLであるが、これが実は20年以上の導入実績を持つ“枯れた技術”であるという点も特筆すべきだろう。
 
図2:NonStop SQLのリニアなスケーラビリティ
図2:NonStop SQLのリニアなスケーラビリティ
  ところで、非常に多数のノードにデータが分割されるという構成上、アプリケーション開発者の中には「データベースとしての利用方法やAPI、パフォーマンスに固有のクセや制限があるのではないか」という懸念する向きもあるだろう。実際のところ、アプリケーション側からはそうした点を考慮する必要は一切なく、ANSI SQL 92準拠の標準的なSQL言語を記述するだけでよい。各ノードへのリクエストの伝達や検索処理の分散化、データの集約などは完全に透過的に処理される。またJava向けにはType 4のJDBCドライバも提供されており、標準APIによるプログラミングが可能だ。つまりアプリケーションからの使い勝手としては、「いたって普通のリレーショナル・データベース」なのである。

止まらない・止めなくてよいITシステム運用

NonStop SQLのもうひとつのアドバンテージは、高可用性である。例えばOracle RACでは、障害時のダウンタイムが短縮されるものの、依然としてクラスタ全体の一時的なサービス停止は避けられない。例えば、いずれか1台のノードがダウンすれば、フェイルオーバーが完了するまでの数10秒〜数分は全ノードの処理がストップする。これに対しNonStop SQLでは、ノード障害時でも他のノードへの影響はまったく発生せず、ITシステム全体では無停止で運用を継続できる。

またNonStop SQLでは「テイクオーバー」と呼ばれるユニークな高可用性メカニズムを実装している。個々のユーザ・セッションについてプライマリCPUとバックアップCPUを割り当て、前者で実行されたトランザクション結果を後者に随時転送する仕組みだ。これにより、プライマリCPUで障害が発生した場合でも、数秒後には別のCPUでユーザ・セッションを継続できる。こうしたすばやい復旧は一般的なデータベース製品では実現されていない。

インデックス再編成中も性能はそのまま

ミッションクリティカル環境では、上述したような「止まらない可用性」だけではなく、「止めなくてよい可用性」も求められる。つまり、データベースの構成変更やバックアップ、再編成といったメンテナンスのための計画停止でさえ許されない場合が少なくない。そこでOracleやNonStop SQLでは、テーブルやインデックスの再編成、分割テーブルの構成最適化、ディスク追加といったメンテナンス作業をオンラインで実行できる機能を備えている。
 
図3:データベースのオンライン・メンテナンス
図3:データベースのオンライン・メンテナンス
  ただし、メンテナンスをオンラインで実行できるとはいえ、多くのデータベース製品では通常業務への影響が避けられない。例えば、インデックスの再編成中はインデックスが使えなくなり、検索パフォーマンスが大幅に低下するといった具合だ。つまり「いつもとまったく変わらぬ運用」を保ったままメンテナンスすることは、事実上困難なのである。

これに対し、ミッションクリティカル環境での利用を前提に設計されているNonStop SQLでは、通常業務のパフォーマンス劣化をまったく起こさずに、インデックス再編成を含むさまざまなメンテナンス作業をバックグラウンドで実行することができる。このような芸当が可能なのは、NonStop SQLが「OSと一体化したデータベース」であるからだ。

OSと一体化したデータベース

実はNonStop SQLは、NonStopサーバーのOSである「HP NonStop OS」に一体化したデータベースとして実装されている。この独特の構成が、独立したデータベース・ソフトウェアでは実現できないさまざまなアドバンテージの源泉となっている。以下の図を見ていただきたい。
 
図4:NonStop SQLとHP NonStop OSによる優先処理メカニズム
図4:NonStop SQLとHP NonStop OSによる優先処理メカニズム
  OSとデータベースの一体化によるメリットのひとつは、優先処理である。例えばひとつのデータベースに対して、OLTPやデータウェアハウス(DWH)、そしてメンテナンスといった複数のジョブが動作していると想定しよう。この場合、DWHやメンテナンスの処理をバックグラウンドで実行し、OLTPに一切影響を与えないのが理想だ。しかしUNIXやLinux、Windowsなどの一般的なOSでは、たとえデータベース内部で個々のジョブに優先順位を付けたとしても、ディスクドライバのレベルではすべてのジョブが同様に扱われる。その結果、メンテナンスによるディスクI/O増加によってOLTPのレスポンスが落ちるといった現象が避けられない。

これに対しNonStopサーバーでは、図4に示すようにNonStop SQLやHP NonStop OS、そしてストレージを管理するDAM(Data Access Manager)の各段階で、メッセージ・キューによる徹底した優先処理「MWE(Mixed Workload Enhancement)」を実装している。これにより、データベース内部で設定された優先順位が、OSのカーネル内部やディスクドライバのレベルまでそのまま伝達されるのである。

このMWEの効果は絶大だ。例えば国内大手の宅配便業者では、OLTPと大規模バッチ処理の両方を単一のNonStop SQLで運用している。このシステムでは、バッチ処理が起動しているときでも、OLTPの性能劣化は皆無という。一般的にはこうした場合、データベースのインスタンスをOLTPとバッチ処理で分けるなどして相互干渉を避けるのが定石だ。さもなければOLTPのレスポンスが大幅に低下し、ユーザから見ればITシステムが実質的にダウンしている状況も起きるだろう。しかしリクエストの優先順位が厳格に履行されるNonStop SQLでは、そうした対処療法は不要である。

以上、今回はNonStop SQLを例に取り、新基幹系サーバーではいかにして「止まらない・止めなくてよいITシステム」を実現しているか解説した。ここまで説明したようにNonStopサーバーでは、「ユーザから見た厳格なサービスレベル」そして「ITシステムの持続可能な成長」を維持すべく、ハードウェアからOS、そしてデータベースに至るすべてが一体となって設計されている。メインフレームでもオープンシステムでもない、ITシステムの新しい潮流をつかんでいただけたはずだ。

新基幹系サーバーの新潮流

以上ここまで3回にわたって、HP Integrity NonStopサーバーを例に取り、新基幹系サーバーと呼ばれるプラットフォームのアドバンテージを明らかにしてきた。

新基幹系サーバーとしてのNonStopサーバーに備わる最大の特徴は、UNIXサーバーによるクラスタと同レベル以下のコストで、メインフレームを上回る信頼性を実現する点である。例えばHP Integrity NonStop NS16000サーバーでは、NSAA(NonStop Advanced Architecture)と呼ばれる高信頼性アーキテクチャを採用。プロセッサ、ディスク、I/Oコントローラ、電源など、どのコンポーネントが障害によってダウンしても、瞬時に正常なコンポーネントにトランザクションが引き継がれ、処理を継続することができる仕組みだ。

また、NonStopサーバーのもうひとつの特徴、それは“オープンな基幹系”ともいうべき性質だ。.Java/J2EEやWebサービス/SOA、CORBA、そしてODBCやJDBCといったSQL APIまで、ひととおりの標準APIが利用可能だ。またPOSIX 1003.1に100%準拠するUNIX環境を提供しており、開発者から見ればNonStopサーバーは一般的なUNIXサーバーとほとんど変わらない。

そして3つめの特徴は、NonStopサーバーが標準装備するリレーショナル・ベータベースNonStop SQLの存在である。シェアード・ナッシング方式を採用したNonStop SQLでは、「ユーザから見た厳格なサービスレベル」そして「ITシステムの持続可能な成長」を維持すべく、ハードウェアからOS、そしてデータベースに至るすべてが一体となって設計されている。このユニークなアーキテクチャにより、NonStopサーバーはミッションクリティカル環境で求められる「止まらない・止めなくてよいITシステム」を実現している。

これらの3つの特徴によって、NonStopサーバーは、メインフレームでもオープンシステムでもない、まったく新しいバリュー・プロポジションを提示している。今回の特集を通じて、“第3のプラットフォーム”としての新基幹系サーバーが生み出しつつある新しい潮流をつかんでいただけたはずだ。



前のページへ

ご相談窓口

電話 電話
エンタープライズ向け製品の
ご購入前のご相談
03-5749-8279
09:00-19:00(月曜 - 金曜)
10:00-17:00(土曜)
※日曜、祝祭日、5月1日、年末年始など日本ヒューレットパッカード(株)の休業日を除く
Webからのお問い合わせ Webサイト
各種製品・サービスの
ご購入について

※機器のお見積については、代理店、または弊社営業にご相談下さい。

ショールーム

ショールーム 導入をご検討のお客様へ
業務アプリケーションの継続・標準化・開発性とシステム担当者様、システム開発者様が抱える悩み・疑問に対する解決策実体験して頂けます。

Executive Briefing Center


印刷用画面へ印刷用画面へ
プライバシー ご利用条件・免責事項