データウェアハウス最前線(6)

メンテナンスフリーな高性能DWHを実現

吉村 哲樹
2010/12/16

データウェアハウスアプライアンスの専業ベンダの中でも後発に入るが、独自アーキテクチャのアプライアンスで確実にシェアを確保しているネティーザ。汎用機を利用するベンダが増える中、独自アーキテクチャを採用する利点を聞いた(編集部)

DWH市場に風穴を開けたネティーザ

 データウェアハウス(以下、DWH)アプライアンス専業ベンダとして、市場に話題を提供してきたのが米ネティーザだ。2000年に創業した同社は、2003年に同社初となる製品「Netezza Performance Server」を発表している。それから同社はDWHに特化した独自アーキテクチャのアプライアンス製品を提供し続けている。積極的なプロモーション施策も功を奏して、事実上テラデータの寡占状態だったDWHアプライアンス市場に風穴を開けた。いまとなっては、同社の製品は全世界で400社以上の導入実績を誇り、日本国内でも60社以上の企業が採用している。

 同社は、初代製品から一貫してDWH処理の高速化に照準を合わせて研究開発を積み重ねてきた。他社製品には、OLTP(オンライントランザクション処理)用途も視野に入れたものがある。一方、ネティーザの製品はOLTPで使うことを視野に入れていないという。日本ネティーザの執行役員技術本部長でTechnical Directorを務める法華津誠氏は、次のように説明する。

 「ネティーザは2000年に創業した。それから、2003年に初代製品を発表するまでの3年間は、まったく製品を出さずにひたすらDWH処理を高速化するための研究開発に専念していた。ネティーザの製品はすべてその研究の成果を基に作っている。その結果、全件クエリのような処理はかなり速くなっている。ただし、OLTP処理で使うことを想定していないので、OLTP処理は得意ではない。ユーザーには、OLTP用途ではなるべく使わないようアドバイスしている」

 さらに、運用管理の手間やコストがかからない点もネティーザ製品の大きな特徴だと同氏は語る。ユーザーに手間をかけさせず、高いDWH処理性能を発揮する同社のアプライアンス製品は、独自のアーキテクチャを採用している。同社製品としては第4世代に当たる最新のアプライアンス製品「TwinFin」シリーズを例に、その内容を紹介しよう。

MPPを有効に活用するためのソフトウェア技術

 TwinFinシリーズは、ハードウェアの大半にIBMの汎用品を採用している。外部アプリケーションとのインターフェイスにはIBMの「System x」サーバ1台を配置し、そのサーバにはデータベース処理を担当するサーバが複数つながっている。このサーバはIBMのブレードサーバ「IBM BladeCenter」だ。さらに、ブレードサーバが搭載するプロセッサコア1つ1つに、IBM製のディスクアレイを割り当てている。TwinFinシリーズの最上位モデル「TwinFin 12」であれば、フルラックに12基のブレードサーバ(96のプロセッサコアを搭載)と96基のディスクアレイが入ることになる。

 さらに、TwinFin 12は最大でラック10台まで相互接続してスケールアウトさせることができる。その場合は、1台のSystem xサーバの下に120台(960コア)のブレードサーバがつながる構成となる。

図1

クライアントからの処理要求受け取ったサーバは、クエリを独自形式にコンパイルしてブレードサーバに流す

 この構成は、典型的な「MPP(超並列プロセッシング)」型システムのように見える。しかし、ネティーザのアプライアンス製品は通常のMPP型システムにはない独自の仕組みをソフトウェア、ハードウェアのそれぞれに実装して性能を高めている。

 ソフトウェアが備える独自の仕組みから説明する。通常のMPP型システムでは各MPPノードでデータベース管理システムがクエリの内容を解釈し、おのおのに割り当てられたディスクアレイを対象にデータ検索処理を実行する。

 ネティーザのアプライアンス製品では、System xサーバがユーザーからクエリを受け取ると、クエリをC++言語のコードに変換し、さらにそのコードを「スニペット」と呼ぶ独自形式にコンパイルする。データベース処理を担当するブレードサーバは、クエリではなくこのスニペットを受け取る。各サーバは、受け取ったスニペットを、そのまま実行するだけだ。各サーバでクエリをコンパイルするオーバーヘッドがなくなるため、処理速度を高めることができる。結果としてシステム全体の分散並列処理の性能が高まる。

 「ネティーザのアプライアンス製品の性能は、このような独自のグリッド処理を可能にするソフトウェア技術が支えている。MPP構成の各サーバを効率よく、協調させて動かせることが最大の強みだ」(法華津氏)

FPGAでデータを処理することで高速化

 ハードウェア面でも独自の仕組みを実装している。先ほど、TwinFinではMPPシステムを構成するサーバがブレードサーバであると説明した。それぞれのブレードサーバはネティーザ独自の拡張ボードにつながっている。この拡張ボードはIBMのブレードサーバの大きさに合わせて作ったもので、それぞれのボードはFPGA(Field Programmable Gate Array)というチップを搭載している。FPGAとは簡単に説明すると、プログラムを作成することで、ユーザーが独自の論理回路を作れるチップだ。このFPGAが、ネティーザのアプライアンス製品を支えるもう1つの重要な要素になっている。

TEL
FPGAの書き換えだけで性能を上げられる可能性があるということは、ユーザーが運用を始めた後にどんどん性能を上げられる可能性があるということだと語る法華津氏

 MPPシステムを構成するブレードサーバがデータを読み出すときは、圧縮データを解凍したり、データを絞り込む・集計するなどの処理をすることになる。通常、これらの処理はすべてプロセッサが担当するが、ネティーザの製品ではこれを極力FPGAで処理してしまう。こうすることで、サーバのプロセッサにかかる負荷を軽減し、全体のスループット向上を図っている。具体的には、データをディスクから読み出した後、まずは圧縮データの解凍とデータの列の絞込み、行の絞込みという、最もプロセッサに負荷がかかる部分をFPGAで処理してしまう。こうして十分に絞り込んだ状態のデータがFPGAからプロセッサに渡り、そこで結合、集計、ソートといった処理を実行する。

 「DWHの性能向上のポイントは、膨大な量の検索対象データの中から、いかに速く条件にあったものに絞り込めるかという点にある。この部分をFPGAで処理することにより、ディスクアレイの最高性能に限りなく近いスピードでデータを処理できる。事実、社内での検証では、TwinFin 12は1台で毎秒36Gbytesでデータを処理できている」(法華津氏)

 また、FPGAを採用するメリットはこれだけではないという。FPGAはプログラムを変更することで論理回路を書き換えることができる。つまり、製品出荷後もプログラム更新で回路を書き換えて性能向上を狙える。事実、ネティーザが2010年10月に投入した最新のソフトウェア「バージョン6.0」で、FPGAのデータ入出力帯域幅を広げたところ、ハードウェアを変えることなくスループットを2倍以上に伸ばせたという。

  1/2 次のページへ

Index
メンテナンスフリーな高性能DWHを実現
→
Page 1
DWH市場に風穴を開けたネティーザ
MPPを有効に活用するためのソフトウェア技術
FPGAでデータを処理することで高速化

Page 2
専任のデータベース管理者は不要
IBMによる買収と今後の戦略



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

注目のテーマ

Database Expert 記事ランキング

本日月間