このページの本文へ

今が旬!データウェアハウスアプライアンスの技術

高速DWHマシンはオラクルよりも先

2009年02月02日 04時00分更新

文● 大谷イビサ/ネットワークマガジン編集部

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

パフォーマンスの秘密は独自アーキテクチャにあり

 ネティーザのNPSシステムは、まずOS、データベース、ストレージなどを単体のハードウェアに統合化し、データウェアハウスをアプライアンス化した。つまり、データウェアハウスを専用機として提供し、ネットワーク経由でBIツールなどから分析できるようにしたのである。

 NPSシステムにはLinux搭載のSMP(Symmetric Multi Processing)ホストと「スニベット・プロセッシング・ユニット(SPU)」と呼ばれるストレージボードが搭載されており、これらがギガビットEthernetで相互接続されているというハードウェア構成になっている。もちろん、ソフトウェアもあらかじめ組み込まれており、データベースは検索に最適化された同社オリジナルのデータベース(当初はPostgreSQLからスタートしたが、現在では完全に新しいデータベースに書き換えられているという)が搭載されている。

 もちろん、これだけで高速化が実現するわけではない。ネティーザは、既存のデータウェアハウスにおいてホストとストレージ間で繰り返されるデータの流れに着目した。たとえば、「過去3年間に商品Aを定期的に10回以上購入した会員で、30歳の女性は? 累積金額と直近購入日で並べ替え」といった分析を実現するためには、商品Aの購入履歴を調べ、10回購入した会員を抽出し、さらに30歳以上の女性という属性でデータを集約する。さらに結果を表示するため、集約されたデータを金額と購入日で並べ替える必要がある。

既存のデータウェアハウスの処理で生じるボトルネック
既存のデータウェアハウスの処理で生じるボトルネック

 こうした分析を実現するため、既存のデータウェアハウスでは該当のカラムデータをストレージからすべて転送し、サーバのCPUで処理していた。そのため、データウェアハウスで現実的なパフォーマンスを得るためにはCPUやメモリを潤沢に搭載した高価なサーバやストレージが必要になっていたのだ。

 これに対して、ネティーザはデータの保管先であるHDD側に処理部分を片寄せしてしまうことで、オーバーヘッドを減らすアプローチを採る。具体的には前述したSPUにメモリとFPGAのプロセッサを搭載し、SMPホストで最適化された検索リクエストが来ると、このプロセッサ上でデータベースのクエリ処理を行ない、該当カラムの絞り込みをかける。各SPUでは必要なデータのみをストリーミングでSMPホストに送る。この「Intelligent Query Streaming」という技術により、扱うデータ量は従来の1~2%に抑えられ、パフォーマンスは一気に向上するというわけだ。

ストレージ側に処理部分を配置し、データ転送量を減らす
ストレージ側に処理部分を配置し、データ転送量を減らす

 また、SPUは1ラック当たり最大112まで搭載できる。これらを「Asymmetric Massively Parallel Processing」と呼ばれるアーキテクチャによって並列処理するため、処理能力はさらに向上。最終的にはテラバイト級のデータベースの分析も難なくこなし、既存のデータウェアハウスの10~100倍という速度での検索が実現するというわけだ。

 (次ページ、「標準のデータベースアクセス手法が使える」に続く)


 

ピックアップ