{#BigData #ビッグデータ ]ビッグデータとイン•メモリ演算による分析事業に対する注目
ビッグデータとイン•メモリ演算による分析事業に対する注目
記事=www.cio.com/article
投稿者=Allen Bernard, Managing Director @ CIOUpdate.com
投稿日=12/6/2012
最近のビッグデータ関連のニュースは多く、特にインメモリ(In-Memory)分析や、インメモリ技術、という言葉と連携して使われるケースが多い。昨今のサーバ仮想化の技術や、クラウド技術というのは、考えようによってはメインフレームから培われた仮想化の技術の発展系であって、本質的に時代を変えていく技術として注目されているのは、格段に安くなったDRAMを利用しインメモリ技術を利用したビッグデータ事業である、と言える
予測分析技術に特化したオープンソース言語である、Rの開発者である、Revolution Analytics社のDavid Smith氏は下記のコメントを述べている。
"In-memory has been around a long, long time, but now that we have big data, it's only the availability of terabyte (TB) systems and massive parallel processing [that makes] in-memory more interesting."
「インメモリ技術はかなり前から存在してます。ただ、ビッグデータの登場によって、その技術とテラバイト級の大型並列処理システムの組み合わせがインメモリ技術を大きく成長させる事が出来る。」
SAP HANAや、Oracle Exalyticsの様な、ビッグデータを利用したデータ分析アプリケーションを一つのハードウェアシステムとして組み込んで提供するシステムが登場している。HANAに関しては、Amazon Web Service上でのサービスや、SAPのNetWeaverプラットホーム等でも提供されている。
一方では、データ分析事業のプロバイダーである、SAS , Cognos, Tableau, Jaspersoft社等は自社製品の性能向上を狙い、In-Memory型の製品バージョンを発表している。ただし、Terracotta社のGM、Gary Nakamura氏によると、どの製品も(自社製品も含め)、活用出来るメモリー量もハードウェアではなく、製品自体のソフトウェア的な限界があり、厳密に言うとIn-Memory型のソリューションではない、と厳しく指摘している。
In-memoryソリューションは、データ分析業務の性能改善に寄与する
「要は、一つのプラットホームのフラッシュメモリ上に、データ、さらにそのデータモデルも含めて搭載し、高速で処理する事が出来る、という事が出来るか否かである。」とOpera Solutions社のShawn Belvins氏が述べている。
ビジネス的な観点からも、リアルタイムで大量のデータからビジネス上の決断を促す情報を如何に早く見出すかが重要であり、そこにIn-Memory技術への期待が集まっている。
NewVantage Partners社のPaul Barth氏は、
「In-Memory分析は高速な検索機能によって実現する」
と述べている。特定の地域において、青い自動車に乗っている人の郵便番号等、いろいろな項目同士の関連性を検索機能を駆使する事によって発見する、という作業である。
こういった、関連性を引き出そうとした時に、様々な形でデータを抽出し、関連性を見出すべく比較、分析が行われる。とある条件でデータをディスクから引き出すたびに大量のデータのI/Oが生じ、これがシステム全体の遅延を有無。すべてIn-Memoryで処理する事によって、この遅延を削減する事がポイントである。
データ解析/分析を行う場合、特に企業で戦略的なデータBIを行う際には、母体デーアに対して、様々な角度から上記のデータ抽出検索、分析が繰り返される。回数が多ければ多い程、データ分析を行う時にのスピードの重要性が増してくる。
当面は単純な演算を大量に処理するアプリが主流
今日のビッグデータ分析は、上記のデータ処理によるディスカバリー業務である、と言える。ただし、ビッグデータにおいては対象となるデータ、レコードの数が膨大な量になる事、尚かつ、それを効率よく、高速に処理を行うためにはディスクを使わず、すべてメモリ上の処理で対処する事が必要になってくる。
Facebookにおいて、例えば写真をアップロードすると、ほぼ同時に顔にタグ情報が自動的についてくる機能がある。Facebookは写真がアップされると同時に、写真上の顔一つ一つに対して顔認証のアルゴリズムを走らせ、特徴点を抽出した小さなデータ(40MBの写真に対してタグは40B程度)を生成し記録する。このデータはシステム内の特定のエンジンに移され、顔の認証を行い、名前を特定する。その後は、関係するアカウントに「写真上であなたがタグされました」、とメッセージを発信する。
この一連の処理は、ビッグデータならではの規模で初めて実現する機能である。また、In-Memory分析があるからこそ、この処理を一分に数万回に処理する機能が実現する。大抵のプログラマーは、Javaの制限があるために、100MB以上のデータをIn-Memoryキャッシュに搭載する人は少ない。メモリ上のデータを増やそうとすると、Javaの仮想エンジンを色々とチューニングする必要が生じる。それによって、システムはさらに遅くなる事もある。
現在、In-Memory分析は、高トラフィックで、演算負荷の少ないアプリケーションに向いている。ただ、プラットホーム上に数TB規模のDRAMもしくはフラッシュメモリを確保出来るようになると、アプリケーションの可能性がぐっと高まってくる。IT業界において、こういった高度な分析ビジネスに対するニーズは確実に存在し、分析対象のデータも大量に生成されている中、それを実現するテクノロジーの進歩が待たれている状況である。
テクノロジーが先に登場し、業界があとからそれをビジネスに適用する、という従来のITの業界モデルと異なり、ビッグデータの業界は既に対象となるデータ、そしてそれを高度な分析に利用したい、というニーズが確実に存在する中、従来のSQL型のデータベースインフラから新しいNoSQL/Mapeduce型のインフラに移行しつつあるのが今日の姿である、と言える。ハードウェア的な制限(メモリのコスト、等)が急激に亡くなりつつある状況の中、上記のニーズに対応出来るテクノロジーが登場した瞬間に、急激に市場が立ち上がって成長する事も予測する事が出来る。この急激な波にうまく乗れるかどうかが、企業の成長の分かれ目になる可能性もある。