ビッグデータ時代に求められるのは、“将来を予測する”マイニング系の分析
「データの『分析』は、レポーティング系とマイニング系の2つに大別できます」と語るのは、日本アイ・ビー・エム ソフトウェア事業部 インフォメーション・マネジメント事業部 BigData/Netezza Analytics Specialistの小島繁樹氏。
レポーティング系は、これまでもBIの世界で実現してきた。過去データの意味を理解し、その変化を捉えるものだ。対してマイニング系は、「ちょっと先のことを見たいという要求に応えるものです。10年先は不可能でも、たとえば3分後、5分後、あるいは数時間後などは予測できる。これらは、SPSSやSASなどのツールを使えば実現できる世界です」(小島氏)
ビッグデータ時代になり、ユーザーからの要求が高まっているのがこのマイニング系の分析だ。とはいえ、ビッグデータという膨大なデータを使って将来を予測しようとすると、SPSSやSASなどのツールだけではかなりの時間を要してしまう。たとえば、5分後、あるいは1時間後のことを予測したくても、それを正確に分析したいとなれば、半日以上の時間がかかってしまうかもしれない。これでは、たとえ正確な予測結果が得られても使い物にはならない。
「たとえば5分後のことを知りたいのに、分析に4分30秒かかってしまう。これでは、結果を活用するのは難しいでしょう。それが、5秒で結果を得られれば、次なるアクションに結び付けられる。それを実現できるのが、Netezzaテクノロジーを踏襲したPureData System for Analytics(以下、PureData)なのです」(小島氏)
当初のPureDataは、データウェアハウス・アプライアンスとして、どちらかと言えばレポーティング系の分析の超高速化に長けていた。それがいまは、アナリティクス・アプライアンスへと進化し、マイニング系の分析をも得意とする。それも、分析対象はビッグデータだ。通常、BI/BAツールで高度なマイニング系分析を行うには、ビッグデータすべてを利用するのではなくランダムサンプリングなどでデータを絞り込む必要がある。そうしないと、データ量が多すぎて時間がかかりすぎてしまうからだ。このデータを絞り込む作業だけでも、手間も時間もかかる。それが「サンプリングせずに、すべてのデータを対象にできます。それも、ボタン1つで簡単に分析できるのがPureDataです」と小島氏は言う。
PureDataはデータ処理に特化したスーパーコンピュータ
ビッグデータを対象に超高速なマイニング系分析を可能としているのが、PureData独自のアーキテクチャだ。「そもそもデータ分析のことだけを考えたアーキテクチャです」と小島氏。特化しているので、すべてのシステム処理要求に、PureDataが対応できるわけではない。しかし、こと「分析」となれば、圧倒的な威力を発揮するのがPureDataアーキテクチャだ。
特長の1つが、Field Programmable Gate Array(FPGA)の利用。FPGAは、ディスクからの読み取りデータを高速にストリーミングし、その過程で不要データをフィルタリングして除外する。これにより、分析処理でボトルネックとなるディスクI/Oを大幅に軽減し、大量データを極めて効率的に処理できる。
もう1つが、非対称型超並列分散処理。通常のリレーショナル・データベースの並列処理は、数ノードからせいぜい10数ノード程度が現実的。それ以上ノードを増やしても、リニアに性能は向上しないのだ。PureDataの場合には「300ノード、400ノードと増やしてもボトルネックなしにリニアに性能が向上します」と小島氏は述べる。
これは別の言い方をすれば「データ処理に特化したスーパーコンピュータのようなもの」だ。スーパーコンピュータは、アプリケーション処理を超並列化し、結果として超高速な処理を実現する。スーパーコンピュータでこの超並列処理を活用するには、独自のプログラミングを行う必要がある。
PureDataの場合は、データ処理の並列化に特化したエンジンを持っている。それを利用するのに、特別なプログラミングは必要ない。SQLなどでデータ処理の手続きを記述すれば、自動でPureDataが超並列化し高速にデータ処理する。これは、データ処理に特化しているからこそ、実現できていることでもある。
*本記事でご紹介した「IBM Netezza Analytics」について詳しく解説したホワイトペーパー資料を無料でダウンロードいただけます。
資料ダウンロードはこちらから!
■資料の概要
『IBM Netezza Analytics
~PureData System for Analyticsが実現する高度分析プラットフォーム』
・仕様 : A4、8頁、ホワイトペーパー(PDF版)
・発行 : 日本アイ・ビー・エム
「分析」をさらに高速化するIn-Database Analyticsの機能とは
PureDataでは、「分析」を高速化するためにさらなる工夫もしている。それがIn-Database Analytics機能だ。これを実現しているのがPureDataに標準搭載されている高度分析ソフトウェアモジュール“IBM Netezza Analytics”。
これは、PureDataエンジンに統計などの分析処理も任せてしまうもの。データ変換や計算、地理、空間情報の処理、予測や統計、時系列、マイニングといった分析の際に必要となるアルゴリズムが、あらかじめPureDataのエンジン上にある。これらを使うことで、高度なデータ分析処理も超並列に高速処理できる。PureDataエンジンでの分析アルゴリズムの利用に、特別な並列分散処理用プログラミングは必要ない。「現状で200くらいの分析、統計アルゴリズムが関数として搭載されています。それらをユーザーは、ストアードプロシージャの形で利用できます。超並列化は、PureDataが自動で行います」(小島氏)
さらに、SPSSやSAS、R言語などサードパーティー製品の分析機能もエンジン上には搭載されている。「ツール側にデータを移動させることなく、すべての分析処理がPureDataのプラットホームだけで完結します」(小島氏)
ところで、分析、高度な統計解析を行うツールとして実績の高いSPSS。この製品も買収により今やIBM製品ファミリーの1つ。そのため、IBM Netezza Analyticsとの技術融合は、さらに進んでいる。SPSSモデラーで分析モデルを作ると、そのモデルの分析に必要なプログラムコードが生成され、それがPureDataエンジンに動的に配置されるのだ。この機能を利用すれば、SPSSで分析したいモデルを次々に作り、それをPureDataで遅滞なく超高速に処理できる。
これを活用すれば「統計モデルの使い捨てができます」と小島氏。従来であれば、一度構築した分析モデルは、精査しメンテナンスしながら使い続けるのが普通。それが、SPSSとPureDataを組み合わせれば、数多くのモデルを次々と作り利用できる。
「やろうと思えば、すべてのパラメータを試すことも容易です。それらに対しビッグデータで分析しても、瞬時に答えが返ってくる。そのため、データサイエンティストの思考を、PureDataは止めることがありません」(小島氏)
さらに、この高速性を、手間なく簡単に利用できるのも重要。たとえば新たな分析モデルを試そうとした際に、その処理を高速化するためにチューニングがいるようであれば、そのための時間が必要でありそこでデータサイエンティストの思考を止めてしまう。PureDataは、チューニングなしに高速にデータ分析が行える。この簡単さもまた、分析という作業においては重要な「速さ」となる。
「分析目的」が明確であれば費用対効果は最大化する
この分析処理の圧倒的な速さを活用し始めているユーザーが増えていると小島氏は言う。「しいて挙げるとインターネットをビジネスに活用している企業ですが、明確に目的を持っている顧客であることが共通点。業種やビジネス領域は、さまざまです」(小島氏)
分析は極めて「人間くさい作業」と小島氏は述べる。こういうデータをもっとこう使えれば、こんな結果が得られるはず。そのような明確なデータ活用の目的を持っているのに、現状のシステムでは時間的、リソース的な制約で思うようなモデルすら作れない。データも制限されサンプリングせざるを得ない。こういった顧客がPureData、さらにSPSSとの組み合わせに遭遇すると「自分たちのやりたかったことは、PureDataでしかできなかった」と実感するという。
PureDataを存分に使い切った顧客からは「結果的には安い買い物だった」という評価をもらうことが多いという。PureDataを導入しようとすれば、それなりに大きな投資は必要になる。しかし、自分たちが持っているデータを理解し、それをどう活用したいかを考え抜いている――そんな顧客にとっては、非常に高い費用対効果を発揮することができる。それがPureDataが実現できる大きな強みだ。
*本記事でご紹介した「IBM Netezza Analytics」について詳しく解説したホワイトペーパー資料を無料でダウンロードいただけます。
資料ダウンロードはこちらから!
■資料の概要
『IBM Netezza Analytics
~PureData System for Analyticsが実現する高度分析プラットフォーム』
・仕様 : A4、8頁、ホワイトペーパー(PDF版)
・発行 : 日本アイ・ビー・エム