2013年9月17日火曜日

NoSQL Now 2013で学んだこと

最近San Joseで開催されたNoSQL conferenceに 参加した。チュートリアル1つと基調講演2つに参加して、更にアナリティックスの会社1社をインタビューした。 筆者の現在のNoSQLへの興味は、スマートグリッドに搭載された多くのセンサーから発せられたBig Dataを解析して電力系統の信頼性を高め、安定度を増加するためのアナリティックスの技術だ。

nosql-13-1.jpg

チュートリアル
このブログではチュートリアルの部分のみを取り上げる。去年のコンファレンスでは「 NoSQL 101」というチュートリアルに参加した。今年は「 Introduction to the Hadoop Ecosystem」というチュートリアルに参加した。このチュートリアルではSciSpike社のVladimir Bacvanski氏がHadoopの仕組みとそのecosystemについて述べた。

nosql-13-2.jpg

nosql-13-4.jpg

Hadoop はBig Data と同義語としてよく使われ、様々なところで述べられている。しかし、簡単な説明ではなかなかその本質に迫ることはできない。筆者はそれぞれの新分野をかな り理解できるまでには、片っ端から簡単であろうが詳細であろうが情報を乱読することにしている。どの分野でも同じことだが、技術的な言葉とその本質には大 きなギャップがある。筆者のブログは簡単な説明と詳細な説明との間に位置するようにしている。

チュートリアルで提示されたものの大部分は 既知であったが、知識の反復や所々にあいた穴を補充するには非常に役にたった。これで、Hadoop がなにでどういう立ち位置かを理解した気がする。このチュートリアルはお薦めだ。チュートリアルの中身をすべて網羅するわけにはいかないので、筆者がラン ダムに選択した項目を取り上げる。

* Big Data のソースはトランスアクション (ビジネス・システム), ドキュメント (テキスト、イメージ、音声、ビデオ), ソーシャル・メディア (Twitter, Facebook, ブログ)と 装置や機器に取り付けられたセンサーなどだ。センサーは特に興味深い。センサーの技術進歩により、以前は出来なかったデータ収集がスマートグリッドから入 手できるようになった。多くの異なった形式のデータが生成されしかも非同期で異なったスピードでどんどん飛んでくる。筆者の興味はこういったデータをいか に集め、集合し、統合解析し、有益な情報を引き出し、電力系統を最適化に利用することだ。
* Big Dataの3つのVはvolume(量), variety(種類)とvelocity(スピード)だ。他のVは veracity (真実性)とviability(実行可能性)だ。
* HadoopはMapReduceHadoop distributed file system (HDFS)から成り立っている。
* MapReduce はHDFSのファイルシステムの上で実行される。
* MapReduce では入力データは細か分割され(map)、それぞれクラスターの多くのノードに分散される。それぞれのノードでデータは処理され、集合・併合されて全体と してはデータのサイズは縮小される(reduce)。こういった処理は自動化されており、ユーザーが手動でなにかしなければならないということではない。
* 新しい考え方は「プロセスをデータに持って行く」であり、現在までの「データをプロセスに持って行く」からの大きなパラダイムの変化である。
* Hadoopに関するその他のコンポーネントに関しても簡単に触れる。Hive はデータ・ウエアハウスのインフラだ。HiveQL (クエリ言語)も含む。

nosql-13-5.jpg

* Pig は大きなデータセットを解析するプラットフォームだ。データアナリシスを行うプログラムを表現するハイ・レベル言語から成り立ち、そういったプログラムを 評価するインフラも含む。Pigの顕著な特徴はその構造が並列化に適しており、そのため非常に大きなデータセットを扱えることだ。

nosql-13-6.jpg

* HBase はHDFSの上のコラム・ベースのデータベースだ。

nosql-13-hbase.jpg

* Zookeeper は分散をコーディネートするサービスを提供する。
nosql-zookeepr.jpg

* その他に HCatalogはHive の一部でPig, Hiveと MapReduceの整合性を提供する。 SqoopはHadoopの自動インポート・エクスポートを提供し、 Flumeは大量のログ・データを収集、集合し移動させる。

nosal-flume.jpg

* Hadoopを使用したアナリティックスは原則としてリアル・タイムではなくてバッチ・モードだ。 スマートグリッドでは収集され送信されるデータはリアル・タイム及びリアル・タイムでないものを同時に含む。リアルタイムで到着するデータを処理すること は最近は注目が集まっている。ストリーミング処理でデーターを取得して、アナリティクスを適用することが必要となる。以下のストリーミング処理プログラム が主なものだ。

- Apache S4 (オープン・ソース)
- Esper (オープン・ソース)
- IBM InfoSphere Streams
- Twitter Storm
- Walmart Labs MUPD8

nosql-13-8.jpg

チュー トリアルに出たからって終わったわけではなく、もっと学ぶことが多い。良いことは、NoSQLやアナリティクスの技術を提供する会社はSNSやビジネス・ トランスアクション以外にも適用範囲を広げようとしている。スマート・グリッドは電力、通信とITを融合するものだ。こういった新たに出現するICT の技術はもっとスマートグリッドに適用されるだろうし、そのおかげでICTの市場も増大する。

0 件のコメント: