「PureData for Analytics」はどこまでデータ分析環境を用意している?:Database Watch(2014年4月版)(2/2 ページ)
DWHで多数の実績を持つNetezzaのコアを受け次ぐPureData for Analytics。周辺ツールとの連携を含めて取材した。
“マエショリスト”のために:IBM Netezza In-Database Analytics
まずはIn-Database分析機能「IBM Netezza Analytics」を見ていきましょう。現在、バージョンは3.0です。Netezzaや「for Analytics」のライセンスがあれば最新版が使えます。最新版の3.0ではSPSS製品技術との融合が進んでいるそうです。
データ変換(欠損値補完/標準化など)やサンプリングといったデータの前処理から、行列計算、位置情報計算、予測分析、統計計算、時系列分析、データマイニングなどの機能を提供しています。余談ですが最近ではデータの前処理をする人のことを「データマエショリスト」と冗談半分に呼んだりしますね。「for Analytics」ではマエショリストやマイニングを行うアナリストの方が仕事を楽にするための機能が盛り込まれています。
SPSSとの連携は?
ここからは他ツールとのNetezza技術との連携について見ていきます。2009年にIBMがSPSSを買収して以来、SPSSとNetezza技術の融合が進んでおり、分析コストの削減と大幅なパフォーマンス向上が実現できています。具体的な技術としてはSQLプッシュバック、データベース内マイニング(Scoring Adapter for Netezza)、SPSSの一時データを「for Analytics」に格納するデータベースキャッシングがあります。
SQLプッシュバックはSQLの最適化とSPSSからの実行指示です。SPSSで分析プロセスを構築すると、SPSS Modeler Serverは「for Analytics」用に最適化したSQLを自動的にNetezzaに発行(プッシュ)します。受け取った「for Analytics」がデータ抽出や集計などを処理し、結果をSPSSに戻す(バック)という流れです。
もう1つの技術であるデータベース内マイニングはどうでしょうか。
これまでSPSSを用いる場合、データソース(「for Analytics」や他ソース)からSPSSへデータを転送し、SPSS内での処理を終えた後に、再び「for Analytics」に戻してスコアリングを行うなどしていました。データが往復することになるので通信負荷や転送時間が問題になります。
そこで分析モデルを「for Analytics」内のユーザー定義関数として登録すれば、データを移動させることなく内部で処理が完結します。データ移動がない分、桁違いに速くなります。「Scoring Adapter for Netezza」と呼ばれ、SSPSS Modeler Serverライセンスと「for Analytics」を保有していれば利用可能なオプション製品です。
今後、より一層の連携が進んだとしても、SPSSそのものには、分析専用ツールとしてより複雑で専門的な機能があります。「for Analytics」の強みは超並列処理ですが、並列処理で強みを発揮できない高度な処理もあります。またデータ量がさほど多くなくて処理時間が気にならなければ従来通りSPSSで処理を済ませてもいいでしょう。
SASとの連携も
SASと「for Analytics」との連携も可能です。SASからODBCでデータ抽出やSASと接続だけではなく、SAS版のIn-Database分析となる「SAS Scoring Accelerator for Netezza」もあります。SPSS同様にデータ移動を伴うことなくSASの処理を「for Analytics」内で実行できます。
R言語との親和性は?
データ分析といえば「R」もよく使われています。ただし、現在のRの実装ではメモリに関する制約があり、メモリ不足に悩まされるユーザーは少なくないのだとか。しかし、最新の「for Analytics」ではデータ操作や分析をRから透過的に実行できるため、R言語そのものが持つ制約は払拭(ふっしょく)きます。Rで実行していた処理を「for Analytics」の並列処理環境で実行できる分、処理速度は上がります。数日かかるプロセスを数時間、数時間を数分にというスケールで処理時間が短縮できます。ユーザーは従来通りRクライアントから操作して結果を得ることができます。
多様なツールを使えるメリット
これまで紹介してきたIn-Database分析機能というのはNetezza技術とは親和性が高いものと言えます。小島氏は「もともとNetezzaはIn-Database分析機能のベースとなる仕組みを持ち合わせていました。SQL言語のロジックを『スニペット』と呼ばれるマシンコードにコンパイルして実行していたからです」と話していました。つまり原理的にはNetezza技術でスニペットを実行することと、他ツールの分析モデルをユーザー定義関数として実行することは似ているということだそうです。
また「for Analytics」の強みは標準機能として持つ「IBM Netezza Analytics」だけではなく、SPSSも、SASも、OpenSource Rも使えるという多様性にあります。分析の現場では分析担当者ごとに得意なツールが分かれていることがあるそうです。慣れたツールとは違うツールを使うと生産性が落ちてしまうのだとか。「Netezzaならツールを選びません」と小島氏。どんなツールからのリクエストも応じることができるということは、マルチリンガルなイメージかもしれませんね。日本語も英語もフランス語でリクエストされてもちゃんと結果を返しますよと。加えて超並列でパワフルに処理できるところが「for Analytics」の強みとなります。
小島氏は「何でもできると思われがちですが、必ずしも全ての処理がNetezza技術に向いているとは限りません。ポイントとしてはロジックをよく考えて見極めることです」と話していました。
Copyright © ITmedia, Inc. All Rights Reserved.