このページの本文へ

【特別企画】IBM DB2ファミリーのニューカマー~DB2 ICEが実現するLinuxクラスタ環境~

2003年11月25日 19時44分更新

  • この記事をはてなブックマークに追加
  • 本文印刷

IBMのDB2 Integrated Cluster Environment for Linux (DB2 ICE) は、ソフト、ハード、サービスを最適に統合し、高性能なデータベースシステムをLinuxクラスタ環境で実現するソリューションだ。

■DB2 ICEの概要

 DB2 ICEは、2ノードから最大1000ノードまで(1000ノードはDB2の論理的な限界)の拡張性を備えており、小規模なシステム構成からエクサバイト級のデータ量のデータベースまで、ニーズに合わせた柔軟なクラスタ環境を構築できることが特徴となっている。
 また、Tivoli System AutomationやLifeKeeperなどのハイアベイラビリティ(HA)ソフトとの組み合わせによって、高信頼性を備えたシステムを構築することも可能だ。DB2のクラスタ技術はHAソフト側のノード数制限を受けないため、最大1000ノードまでという拡張性が損なわれることもない。

■ソフト/ハードウェアのサポート

 DB2 ICEが提供するソリューションの中核となるRDBMS製品は、DB2 Universal Database(DB2 UDB)のEnterprise Server Edition(ESE)と、そのオプション機能でデータベースのパーティショニングを実現するためのDatabase Partitioning Feature(DPF)だ。また、中小規模のシステムに特化したエディションであるDB2 UDB Express Edition(DB2 Express)もサポートされている。
 サーバハードウェアとしては、eServer 325、eServer xSeries(x335、x345など)、BladeCenterなどがサポートされる。このうち、eServer 325は、AMDの64ビットCPU Opteronを搭載しており、DB2 ICEは、AMDの64ビットプラットフォームでLinuxをサポートした世界初のデータベースソリューションとなる。
 そのほかの関連するソフト/ハードウェアコンポーネントにも触れておこう。システムの可用性を向上させるHAソフトについてはDB2 UDBでのサポートに準ずるが、そのうちDPFをサポートしているのは、前述のIBMのTivoli System AutomationとSteel Eye Technology社のLifeKeeperとなる。
 DB2 UDBがサポートするVoltaire社のInfiniband Database Kit(クラスタリング、高速ネットワーク、ストレージ接続などを提供するソリューション)を利用することも可能だ。Infinibandのサポートについて詳しくは、以下のURLに掲載されている。

■DB2 ICEのメリット

 DB2 ICEでは仮想的な1つのデータベースを1000ノードまで拡張可能なため、1つのクエリを複数ノードで分散処理することができる。これにより、意思決定系システムなどに不可欠な複雑なSQL文であっても効率的に処理できる。
 後述の検証結果が示すとおり、商用UNIX並のパフォーマンスと高信頼性を備えたシステムをLinux上で、リーズナブルに構築できることも大きなメリットのひとつであるのは言うまでもない。
 以上のようにDB2 ICEは、ソフト/ハードウェア/サービスをトータルに組み合わせたソリューションであり、安心して利用できるLinuxクラスタ環境を提供する。

■DB2のLinuxサポート

 DB2 ICEの具体的な説明に移る前に、その中核となるDB2 UDBとLinuxの関係について見ておこう。DB2 UDBは他のプラットフォームと同様に、Linuxに対しても非常に先進的なサポートを実現している。このことは、以下に挙げる事実からも窺うことができるだろう。

    ・Linuxプラットフォームでベンチマーク結果を世界で最初に発表したリレーショナルデータベース(RDB)
    ・Linux上のクラスタを世界で最初にサポートしたRDB
    ・メインフレーム(zSeries)、iSeries、pSeries上のLinuxを世界で最初にサポートしたRDB
    ・Linux IA-64を世界で最初にサポートしたRDB
    ・Linux AMD-64を世界で最初にサポートしたRDB
    ・United Linuxを世界で最初にサポートしたRDB

 DB2 UDB for Linuxの製品はIBMのトロント研究所で開発されているが、Linux版開発コードの作成にあたっては、IBM Linux TechnologyCenterおよびLinux開発コミュニティと緊密に協力して行っている。その結果DB2は、Linuxを他の商用UNIXと同等のレベルでサポートしている。
 DB2 UDB V8.1がサポートするLinux ディストリビューションについては、下記のURLを参照のこと。

 DB2 ICEでは、UnitedLinux 1.0(SuSE Linux Enterprise Server、Turbolinux Enterprise Server)およびRed Hat Enterprise Linuxをサポートしている。

■DB2のライセンス

 DB2のライセンスモデルはシンプルで、クラスタを組む場合には、DB2 UDB ESEとDPFのみをCPU単位で購入すればよい(料金には1年間のメンテナンスも含まれている)。また、DB2 Expressは、Linux/Windows環境(2CPUまで)に限り従来の半額程度の料金で提供される。DB2 Expressに関しては、下記のURLを参照してほしい。

■スケーラビリティとパフォーマンス

 DB2 ICEの特徴は、スケーラビリティとパフォーマンスの良さであろう。以下では、日本IBMで行ったDB2のスケーラビリティに関する検証結果を示していくが、ノード数が増えるにしたがって、ほぼリニアな(約98%の)スケーラビリティが確認されている。

■スケーラビリティ検証結果

 1つめの検証として、情報系(主にデータウェアハウスで使用されるアプリケーションを想定した)ベンチマークの結果を見てみよう。
 図1のグラフは、集計型の検索をデータ量とノード数を増加させて実行した結果である。データ量が増加してもノード数を増加させれば、処理能力はグラフのように増加する。4ノードでの処理性能を1とした場合の8ノードと16ノードでの処理性能比を表1に示す。この結果から、ノード数の増加にしたがって処理性能がほぼリニアに向上することがわかるだろう。

【表1】ノード数と処理性能の変化
ノード数処理性能比
41
81.97
163.82

 続いて、OLTP系(TPC-Cの新規注文トランザクションを想定した)ベンチマークでの検証結果を図2に示す。このグラフから、トランザクション数が増加したケースでも、ノード数を増加させれば、応答時間が一定に保たれ、トランザクション(TPS)はリニアに増加することが読み取れる。
 また、AMD Opteronを搭載したeServer 325上で64ビットLinuxクラスタリング環境を構築し、オープン系の標準ベンチンマークTCP-Hを実行した値も公表している。図3に示した2つのグラフから、優れたコストパフォーマンスを発揮していることがわかる(2003年8月時点での比較)。
 なお、上記の検証に用いたTPC-CとTPC-Hは、トランザクション処理性能評議会(Transaction Processing Performance Council、略称TPC)が策定したベンチマークテストの仕様で、トランザクション処理性能の評価に用いられる代表的なものだ。
 TPC-Cは受発注業務をモデルとした性能評価を目的とし、TPC-Hは意思決定支援業務を対象とするベンチマークである。図3中のQphHはTPC-Hベンチマークにおける性能を示す単位で、システムのクエリ処理能力を表している。TPCベンチマークの詳細については、TPCのWebサイトを参照のこと。

【図1】
【図2】
【図3】

■パフォーマンスを支えるアーキテクチャ

 DB2のパフォーマンスを支えているのは、シェアードナッシング、コストベースオプティマイザ、多次元クラスタリング、先進の並列処理といったアーキテクチャである。
 DB2 ICEで使用されるDB2 Data base Partitioning Feature(DPF)は、大量の並列処理を行うクラスタシステム全体のデータ区分化をサポートする。単一のシステムを複数のパーティションで区切り(論理ノード)、DB2 DPFをインストールすることも、物理ノードとして複数のシステムに分散させることも可能である。データベース各部の管理は、各ノードのデータベースマネージャによって行われる。
 複数ノードを1つの仮想的なデータベースとして構築することができ、アプリケーションから見た場合は、どのノードにアクセスしても同じ結果を返すことができる(図4)。並列処理という観点では、1つのSQL文を複数のパーティションで実行可能であるほか、ディスクの内容をハッシュによって均等に分散させることにより、パフォーマンスの向上も図っている。
 このDB2 DPFのアーキテクチャにより、意思決定支援システムやオンライントランザクション処理のパフォーマンス向上が可能となる。同時に、パーティショニングによって大量のデータを保持することが可能となるため、新たなアプリケーションの可能性も拡大するだろう。

【図4】
■並列処理のパフォーマンス検証

 64ビットのメリットは、大きなメモリサイズを扱うことが出来るようになることで、DB2にとっては大きなバッファプールを実装することが可能になるということである。このバッファプールサイズの違いによる効果を見るため、ランダムな単純照会を並列で多数実行させてトランザクション数を比較したのが図5だ。
 TPS(トランザクション/秒)が上がりきる限界値は、64ビットモードの3Gバイトバッファプールを用いたほうが、ずっと高い位置にあり、このケースでは大きなバッファプールの実装により約10倍のTPSが達成できている。ディスクの性能にもよるが、大きなバッファプールによって、ランダムアクセス処理においても性能が改善することを示している。
 このように、DB2は、スケールアウトのアプローチとスケールアップの両方に対応しているといえる。

【図5】

■DB2 ICEの信頼性

 eビジネス環境において、システムには24時間/365日連続稼動が求められている。特にWebサービス系でのシステムにおいては「止まらない」ということが非常に重要な条件といえるだろう。
 DB2 ICEでは、Tivoli System AutomationやLifeKeeperを始めとした商用のHAクラスタソフトや、オープンソースのクラスタソフトに対応しており、ニーズや予算に応じて柔軟に信頼性の高いシステムを構築することができる。
 実際に、これまで日本IBMが行ってきた高可用性の検証テストを見てみよう。表2は、OLTPベンチマークツールを使って180TPSの負荷をかけた状態で、障害からの復旧時間を検証した結果だ。表中の左の3つはアクティブ/スタンバイの構成で、右の2はアクティブ/アクティブの構成で検証を実施している。
 テイクオーバー時間の合計(復旧に要したトータル時間)は、それぞれの構成で17秒、34秒、40秒、40秒、42秒となっており、8ノードのクラスタ構成でも、わずか40秒でテイクオーバーが完了している。ジャーナリング・ファイルシステム(ext3など)を使うことでファイルシステムサイズによらず、データベースが大きくても短時間で引継ぎが可能となる。このようにDB2は、Linux環境でも高信頼性を備えたシステムが構築可能である。

【表2】
■情報統合・グリッドへの取り組み

 DB2 Information Integrator V8.1は、ネットワークでつながれた、多種多様なデータ(リレーショナルデータ、ノンリレーショナルデータ)を統合するためのミドルウェア製品である。
 ここで言うリレーショナルデータとは、IBMのDB2ファミリー製品とInformixだけに限らず、Oracle、MS SQL Server、Sybase、Teradataなどの他社データベース製品も含んでいる。DB2 Information Integratorを用いれば、これらの複数異種のリレーショナルデータベースに対して、ユーザーはあたかも1つの仮想DB2データベースに対してアクセスしているように、データの照会および変更、結合処理が可能になる。
 また、ノンリレーショナルデータとしては、フラットファイル、スプレッドシート、XML文書などに対するサポートを提供している。
 DB2 Information Integratorの詳細については、下記のURLを参照してほしい

 DB2ICEは、IBM全社のLinuxへの取り組みを受けて、ハードウェア/ソフトウェア/サービスを合わせて低コストかつ信頼性の高いLinuxクラスタリング環境をワンストップでユーザーに提供可能なソリューションである。今後もグリッドやオートノミックといった先進技術を搭載したDB2 for Linuxの動きから目が離せない。

カテゴリートップへ