- DB2 pureScale製品紹介ページ
- DB2 pureScale ホワイトペーパー請求窓口(COSTCUT@jp.ibm.com)
データベースの2つのクラスターアーキテクチャ
企業が扱うデータは、爆発的に増え続けている。莫大なデータを効率よく管理するには、大規模で高性能なデータベースが欠かせない。しかしながら、数年後のデータ増加を予測し、それを見越した巨大なシステムを一気に導入するとなると、初期投資が膨らんでしまう現実がある。
そこで登場したのが、クラスタリングだ。規模のそれほど大きくないサーバーを複数並べ、1台の大きなサーバーがあるように見せかける。そして、それぞれのサーバーに処理を分散させることで、巨大で高性能なサーバーと同様な処理を実現する。処理性能が足りなくなれば、ノードを追加し拡張性が得られるのだ。
拡張性に優れたデータベースのクラスタリングシステムには、現状では2つのアーキテクチャがある。1つは個々のメンバーに専用ディスクを割り当てられるもの、もう1つがディスクを複数ノードで共有するもので、それぞれに長所と短所がある。
高速処理が得意だが、可用性と更新系が苦手な非共有ディスク型
非共有ディスク型では、ノード追加による性能向上が極めて容易だ。理論的には、ノードを増やせば増やしただけリニアに性能は向上する。しかしながら、ディスクを共有しないのでどのノードがどのデータを保持しているかを別途管理する必要がある。
さらに、1つのノードに障害が発生するとそのノードが管理するデータが見えなくなり、データベース全体への検索ができなくなる。そのため、システム可用性の確保にはディスクそのものを冗長化するだけでなく、ノード間で互いを補完する複雑な仕組みが別途必要となる。
データ更新時やノードの追加時にも注意が必要だ。処理性能向上のためにデータを各ノードにハッシュ関数などを用い分散格納すると、データ更新時にはすべてのサーバーのデータをロードし直す必要が出てくる。
高速処理が可能だが、可用性確保と更新系システムでは弱点を持つのが非共有ディスク型のアーキテクチャだ。このアーキテクチャは、おもに検索性能を重視するデータウェアハウスなどで活用されている。
可用性は高いが、拡張性に欠ける共有ディスク型
これに対し、共有ディスク型はノード追加やデータ更新時にもデータを再構成する必要はない。障害発生時には実行されていた処理を稼働している別ノードにそのまま引き継いで継続させられるため、極めて可用性の高いシステムとなる。
拡張性についても、ノードを追加すれば基本的には性能が向上する。しかしながら、共有型では各メンバーのメモリ上のデータ整合性を確保しなければならず、そのためにノード間でデータロックやバッファ情報などをやり取りする必要がある。
これは、メンバーが増えると相互に情報をやり取りするので通信量が大幅に増え、性能に影響を及ぼす可能性が出てくる。可用性は高いが、ノードが増えると拡張性が発揮しにくいのが共有ディスク型であり、OracleのReal Application Clusters(RAC)はこのアーキテクチャを採用している。
- DB2 pureScale製品紹介ページ
- DB2 pureScale ホワイトペーパー請求窓口(COSTCUT@jp.ibm.com)
PowerHAテクノロジーでメンバー(ノード)間通信量を大幅に削減
Oracle RACでは拡張性確保のために、共有ディスク型の弱点でもあるノード間通信を高速化する工夫がこれまでにも取られてきた。それにより拡張性は向上してはきたが、ノード数が増えると実際の運用時には特定ノードに処理を割り当てるなどの工夫で、通信量を減らす構成をとることが多い。
このようなRAC独自のチューニングには高いスキルが要求され、RACに精通した技術者の確保も課題となることがある。とはいえ、可用性面からRACの評価は比較的高く、採用する企業も増えている。
これに対し、従来、非共有ディスク型しか提供してこなかったIBMでは、新たにオープンシステムのDB2で共有ディスク型システムの提供を開始した。実は、メインフレームのDB2では共有ディスク型のアーキテクチャを採用しており、IBMにはその実績と技術蓄積がある。
それをもとにデザインされたのが、今回提供を開始するpureScaleであり、「pureScaleはOracle RACの弱点を克復する」と、日本アイ・ビー・エム ソフトウェア事業 インフォメーション・マネジメント事業部 データ・マネジメント営業部 部長の池田高也氏は言う。
無限の拡張性と連続可動性を兼ね備えたPureScale
pureScaleでは、独自技術でサーバーを追加した分だけ性能が向上する無限の拡張性、共有ディスク型のクラスター構成のための工夫や変更なしに得られるアプリケーションに透過的な拡張性、そして安定したパフォーマンスで連続的なデータアクセスを提供する連続可動性を提供する。
pureScaleの独自技術としてまず挙げられるのが、PowerHA pureScaleテクノロジーを用いたメンバー(DB2 pureScaleではノードではなくメンバーと呼ぶ)間通信の大幅な削減だ。これは、グローバル・ロックとバッファ管理情報をメンバー同士で互いに通信し合うのではなく、情報管理機能をメンバーから切り離し、Coupling Facility(CF)というサーバーのメモリ上で管理するようにしたものだ。これにより、各メンバーはCFとだけ情報をやりとりすればよく、通信量は大幅に削減され拡張性面で大きなメリットとなっている。
- DB2 pureScale製品紹介ページ
- DB2 pureScale ホワイトペーパー請求窓口(COSTCUT@jp.ibm.com)
メモリに直接アクセスする高速通信技術を採用
また、メンバー間通信にOracle RACではIPを使用しているが、pureScaleではRemoto Direct Memory Access(RDMA)という、極めて高速な方式を採用している。RDMAは、CFのメモリを直接更新可能で、これはプロセス間通信でもなく、割り込みも発生せず、カーネル経由のIPコールでもないので、極めて高速な通信が可能となる。さらに高速なInfiniBandを採用した結果、ナノ秒オーダーでのアクセスを実現したのだ。
この高速化で「障害発生時にもロックされるデータがほとんどなく、障害メンバーは他のメンバーへの影響を最小限に抑え極めて高速に復旧できる」と日本アイ・ビー・エム ソフトウェア事業 インフォメーション・マネジメント事業部 ソフトウェア・エバンジェリストの中林紀彦氏は指摘する。
これら技術により、pureScaleでは高い拡張性について実証済みだと中林氏は強調する。実証実験の結果、32メンバーの構成でも95%以上の性能を確保し、112メンバーまで拡張しても81%の性能が発揮されたとのこと。
pureScaleは、後発であるがゆえに既存製品の弱点を克復する機能を十分に備えたものに仕上がっている。そして、IBMではこのクラスターアーキテクチャに最適なライセンスも提供する。これにより、極めて高い可用性と拡張性のシステムを、最適なコストで運用できることにもなる。
- DB2 pureScale製品紹介ページ
- DB2 pureScale ホワイトペーパー請求窓口(COSTCUT@jp.ibm.com)