背景
近年、ライフログ、インターネット・オブ・シングスと呼ばれるネットワークに接続されたセンサー、自動車等あらゆるモノから非定型かつ大量のデータがリアルタイムに生成されるようになってきました。このようなデータは、短期間に数億~数百億エントリー、ペタバイト級のデータ量に達することもあり「ビッグデータ」と呼ばれています。ビッグデータの集積、有効活用は、2012年1月のダボス会議*1においても、議題に取り上げられるなど、ICT分野にとどまらず、グローバルな新しいビジネスサービスやイノベーションのフロンティアとして経済界においても期待と関心が高まっています。
NICTユニバーサルコミュニケーション研究所では、ユニバーサルコミュニケーションの実現に向けて、多言語音声技術や高度な意味処理に基づく情報分析技術等の基盤技術の研究開発に取り組んでいます。これらの技術では、大規模なテキストデータを収集し、大規模なコーパス*2や各種の言語資源*3を整備することが不可欠です。私は、インターネット上の大量の情報を効率よく集め、蓄え、用途に応じて高速に取り出すための情報基盤技術の研究開発に取り組んでいます。具体的には、 (1)超高性能クローリング技術、 (2)大規模分散データストア技術、 (3)大規模計算機基盤構築・管理技術の実証的な研究開発を行っています。
超高性能クローリング技術
Webクローラは、ネットワーク上の情報を自動的に収集するソフトウェアの一種です。その実行原理は、Web文書のリンクを順次たどるだけの極めて単純なものですが、ネット上にはスパムページや重複サイト等が多数存在します。また、ほとんど更新されない情報もあれば、ニュースのように頻繁に更新されるものもあります。一方でネットワーク環境や取得先のWebサイトに過度な負荷をかけないよう十二分な配慮も不可欠です。
当研究所では、第2期中期計画(平成18年度~平成22年度)において開発された情報分析システムWISDOMの情報基盤として、Webクローラを開発、運用してきました。同クローラでは、1日に最大約1,000万ページのWeb文書を収集することができ、約10億ページのWeb文書を集積しています。第3期中期計画では、研究所全体の研究開発資源として活用可能な40億ページ以上のWebアーカイブの構築に向けて、質の高い情報を効率的に収集するためのクローラ制御の高度化、計算機やネットワーク環境に応じて柔軟にスケールする非同期的な並列分散収集機能の実現を目指しています(図1)。
図1●並列分散クローリング環境
大規模分散データストア技術
(分散キー・バリュー・ストア技術)
数億~数百億エントリー、ペタバイト級のデータ量に及ぶ大量かつ非定型なデータを研究開発やイノベーションのために戦略的に活用するためには、超高速に蓄え、必要に応じて取り出す仕組みが不可欠になります。しかし、従来の関係データベースシステム(以下、RDBMS)は、このような用途には必ずしも適しておらず、仮に実現しようとするとハード、ソフトともに高いコストが伴います。そこで、近年NoSQLと呼ばれる新しいデータベース技術が注目されています。NoSQLは、RDBMSのように関係モデルに基づく固定的なデータ構造ではなく、データや計算機資源の増加に応じてスケールアウト*4しやすいシンプルなデータ構造とシステムアーキテクチャを採用しています。NoSQLは、そのデータ構造や検索方式によってドキュメント指向型、カラム指向型、キー・バリュー型などのタイプがありますが、私の研究では、非定型なネット上の収集、蓄積により適した、分散キー・バリュー・ストア(以下、分散kvs)を採用しています。分散kvsは、データを格納する「データノード」、多重化されたデータノードを管理するとともに、分散kvsへアクセスするインタフェースを提供する「マスターノード」、アプリケーションから分散kvsにアクセスするための「クライアント」から構成されます(図2)。これによりデータや計算機資源の増加に応じた柔軟なデータノードの追加や自動障害復旧が可能となるほか、取扱うデータのサイズによっては、データを全てメモリ上に格納することで、毎秒数万~数十万件のデータストリームにも対応可能な超高速なインメモリデータベース*5も実現可能です。
現在、私は、分散kvsのオープンソース・ソフトウェアの1つであるokuyamaの開発者、岩瀬高博氏((株)神戸デジタル・ラボ)と共同で、ビッグデータ時代に対応した大規模データストア技術とそれに基づく大規模Webアーカイブ構築の研究プロジェクトに取り組んでいます。
図2●分散キー・バリュー・ストア概要
大規模計算機基盤構築・管理技術
- I/O指向ハイパフォーマンスコンピューティング -
近年、コンピュータのコモディティ化*6が急速に進んでおり低価格かつハイスペックな計算機資源を利用できるようになってきました。では、多数のCPUや大容量のメモリ、ストレージを搭載した計算機をただ沢山並べれば首尾よく問題は解決するのでしょうか。
問題はそれほど単純ではありません。スパコンに代表されるハイパフォーマンスコンピューティングの分野では、浮動小数点演算をいかに高速に実行するかということに主眼が置かれていました。しかし、ビッグデータ時代の到来によって、その様相は一変し、いかに大量のデータを取り扱えるかということが重要になっています。
例えば、前述の情報分析システムWISDOMでは、1つのWeb情報はたかだか100キロバイト程度の小さいものですが、これを数億~数十億件のオーダーで取り扱います。この際に、最も問題になるのは、演算速度ではなく、ストレージ上に存在する大量のデータへの書き込み/読み出し(I/O)の速度です。特にハードディスクは、どんなに最新の高性能のものでも、メモリと比較すると10-5~10-6の速度になるため、データI/Oの遅延(レイテンシー)がボトルネックとなり、情報システム全体のスループットが上がりません。
膨大なデータを効率よく活用するには、計算機の持つポテンシャルを最大限に引き出すために、I/Oのレイテンシーを極力最小化するためのハードウェア構成はもちろん、分散ファイルシステム、分散処理フレームワークなどのミドルウェアも一体となったシステム構築技術が不可欠です。また大規模な計算機基盤を少人数・少コストで運用するための管理技術も非常に重要です(図3)。
図3●大規模計算機基盤構築・管理技術
今後の展望
今後ますます重要性が増していくアジアに関する情報を40億ページ規模で集積化し、当研究所内外の研究開発及び成果の社会還元に役立つ情報のハブの実現を目指します。またこれらの実証的研究開発を通じて、ビッグデータ時代の新しいコンピューティング分野を開拓し、ユニバーサルコミュニケーション及び新世代ネットワークの実現に貢献していきたいと考えています。
用語解説
*1 ダボス会議
毎年1月末にスイスのダボスで開催される「世界経済フォーラム」の年次総会。世界中の知識人、経済・企業のトップ、政治家、学者、ジャーナリスト等が一堂に会し、世界が直面する重大な問題について議論する。
*2 コーパス
日本語や英語などの自然言語の文書を大量に集めた言語データのこと。
*3 言語資源
自然言語処理を研究する際に利用する辞書などの資源のこと。
*4 スケールアウト
サーバの数を増やすことで、サーバ群全体の処理能力を向上させること。
*5 インメモリデータベース
データストレージを主にメインメモリ上で行うデータベース管理システムのこと。
*6 コモディティ化
商品がメーカー、機能、品質等において差や違いがはっきりしなくなること。
岩爪 道昭(いわづめ みちあき) ユニバーサルコミュニケーション研究所 統括 大学院修了後、日本学術振興会特別研究員、近畿大学理工学部助手、理化学研究所脳科学総合研究センター研究員を経て、2005年、NICTに入所。内閣府出向等を経て、2011年より現職。 知識ベースシステム、Web情報処理、オントロジー工学などの研究に従事。博士(工学)。 |