米Amazon.comは,過去13カ月間にユーザーが行った全クリックのログを蓄積し,ユーザーの行動を解析している。そのデータ解析は,米Netezzaのデータ・ウエアハウス(DWH)専用サーバーが担っている。NetezzaのJon Niess副社長(写真1)は「OracleやSQL Serverは,トランザクション処理を目的に開発された。Netezzaは,DWH専用にソフトとハードを開発しており,処理性能は圧倒的」と語る(聞き手は中田 敦=ITpro編集)。


写真1●米Netezza副社長のJon Niess氏
写真1●米Netezza副社長のJon Niess氏
[画像のクリックで拡大表示]
 米Netezzaが販売する「Netezza Performance Server」は,データ・ウエアハウス(DWH)専用のソフトウエアとハードウエアによって構成されるDWH専用アプライアンス・サーバーだ。

 Netezza Performance Serverの特徴は,ハードディスク1台ごとに,データ処理専用のプロセッサとメモリーが搭載されることだ。一般的なデータベース・サーバーでは,データ処理を実行するサーバーと,データを格納するストレージ(ディスク装置)がハードウエアとして分離しており,SCSIやファイバ・チャネル(FC)などのインターフェースで接続されている。それに対してNetezza Performance Serverは,ディスク装置とプロセッサが密に結合している。

 Netezza Performance Serverは,「ハードディスクとデータ処理専用プロセッサ,専用メモリー」で構成される「SPU(スニペット・プロセシング・ユニット)」(写真2)というボードを数十~数百台集積して,並列処理を行う。こうすることで,数Tバイト~数百Tバイトに及ぶデータを,高速に解析できるという。

写真2●Netezza Performance Serverの最小構成単位であるSPU(スニペット・プロセシング・ユニット)
写真2●Netezza Performance Serverの最小構成単位であるSPU(スニペット・プロセシング・ユニット)
[画像のクリックで拡大表示]

「DWHには専用のソフトとハードが適している」というのがあなた方の主張ですが,実際には,データ・ベースのサイズがどの程度になると,Netezza Performance Serverのような専用製品が必要になるのでしょうか?

Niess氏:われわれのユーザーの多くが,1Tバイト以上のDWHを構築しています。パフォーマンスを重視して,500GバイトのDWHをNetezza Performance Serverで運用しているユーザーもいます。

 データ・ベースの容量も10Tバイト,20Tバイトを超えると,テーブル構造も複雑になり,サーバーやストレージなどシステムの物理設計も困難になります。Netezza Performance Serverを使えば,「インデックスをどこに配置するか」などに頭を悩ませる必要はなくなります。

 例えば,ニューヨーク証券取引所(NYSE)は,Netezza Performance Serverを使って200TバイトのDWHを運用しています。

NYSEがデータ・ベースを,Netezzaを使って運用しているということですか?

Niess氏:いいえ,そうではありません。NetezzaはあくまでもDWH専用です。オンライン・トランザクション処理(OLTP)には一切使われていません。

 NYSEは,インサイダー取引のような不正な証券取引が行われていないか,取引の動向を常に監視しています。取引のログを分析して不正な動きを検出するのに,DWHを構築しているわけです。

 ユーザーの行動分析といえば,米Amazon.comもNetezzaの大規模ユーザーの1つですね。Amazon.comは,過去13カ月間にユーザーが行ったすべての「クリック」の詳細を蓄積し,Netezza Performance Serverを使ってユーザー行動を分析しています。通常のデータベース・サーバーでは,2カ月分を分析するのが精一杯でしょうね。Amazon.comが「13カ月」にこだわっているのは,ユーザー行動を前年同月の傾向と比較するためです。

DWHには専用のソフトとハードが適している,という根拠を教えてください。

Niess氏:「Oracle」や「SQL Server」などは,もともとトランザクション処理用に開発されたデータ・ベースであり,インデックスなどを工夫して,DWHに使用しているのが現状です。それに対してNetezzaは,DWHに特化したソフトウエアとハードウエアを,ゼロから開発しています。

 特徴的なのはSPU(スニペット・プロセシング・ユニット)の存在です。SPUには,ディスクとプロセッサが搭載されていて,データがディスクに出入力される瞬間に,SQL文が処理されます。われわれはこれを「データのストリーミング処理」と呼んでいます。通常のデータベース・サーバーでは,サーバーとストレージがハードウエアとして別になっていて,ディスク上のデータをサーバー上のメモリーに展開してから処理が実行されます。それに対してNetezzaでは,データの入出力の瞬間に処理が実行されているのです。

 インデックスの作成も不要なので,ユーザー・データ領域も多く確保できます。30Tバイトの物理ディスクがあった場合,12Tバイトのユーザー・データを利用できます。

 Netezzaは,ビジネス・インテリジェンス(BI)システム構築の姿を一変させます。

 通常,DWHを構築する際には,ユーザーから要件を聞き出した後に,論理的なデータ・モデル設計と,サーバーやストレージ・システムの物理設計が必要です。DWHのパフォーマンスを追求する上では,物理設計が必須になります。運用後にデータが増えた場合には,物理設計を再度見直す必要もあるでしょう。

 Netezzaを使ってDWHを構築するのであれば,物理設計は必要ありません。データが増えた場合も,SPUを追加するだけで対応が可能です。システム部門は,ユーザーからの要望に迅速に応えられるようになるでしょう。