Hadoopがスケール・アウトする仕組み

2010年6月11日(金)
清田 陽司

Hadoopができること、できないこと

前回と今回の記事では、Hadoopが情報爆発時代の新たなインフラとしての性質を備えていること、重要な性質である「スケール・アウト性」をどのように実現しているか、を示してきました。

しかし、Hadoopを使っても、既存のコンピュータ・システムをすべて置き換えることができるわけではありません。状況によっては、既存のリレーショナル・データベース管理システム(RDBMS)や、最近注目されている分散Key-Value Store(KVS)データベースが向いている場合もあります。HadoopとRDBMS、KVSを適切に組み合わせることで、極めて効率のよいコンピュータ・システムを構築できます。

どのようにソフトウエアを組み合わせるのが適切なのかを判断するためには、Hadoopができることとできないことを、きちんと理解しておく必要があります。

Hadoopは、巨大なデータのバッチ処理の性能を上げることを最優先に設計されています。まずは、これを押さえておいてください。バッチ処理の性能は、システムのスループット、すなわち時間あたりのデータ処理量に左右されます。言い換えると、Hadoopはスループット優先のシステムであるといえます。

また、MapReduceフレームワークが持っている柔軟性も、Hadoopの長所です。複数のmap関数とreduce関数を組み合わせると、時系列解析、検索インデックスの生成、言語モデルの構築、遺伝子配列のマッチングなど、さまざまな複雑な処理を実現できます。

一方、Hadoopのレイテンシ(遅延時間)、すなわちデータ転送などを要求してから結果が得られるまでの所要時間は大きくなってしまいます。また、インデックス検索機能などは実装されていないため、巨大なデータ集合から特定のデータのみを素早く抽出したり変更したりすることは不可能です。

よって、素早いレスポンスが求められるWebサービスのユーザー・インタフェースといった用途には向いていません。低いレイテンシが要求される場合は、RDBMSやKVSの利用を検討する必要があります。Hadoop上に構築されているKVSであるHBaseなども検討対象になります。

次回記事では、HadoopとRDBMS、KVSの違いを踏まえた上で、どのように3者を組み合わせていくべきかについて解説します。

株式会社リッテル 上席研究員 兼 東京大学情報基盤センター 助教

情報検索システムの研究者。情報リテラシーの向上に役立つサービスの実現を目指し、自然言語処理技術のアプリケーション、Web情報と図書館情報の融合などのテーマに取り組んでいる。Wikipediaやブログなどの膨大なデータ処理にHadoopを活用している。そのノウハウを国内法人向け Hadoopセミナーにて公開中。京都大学大学院情報学研究科博士課程修了。博士(情報学)。
http://www.littel.co.jp/
http://twitter.com/kiyota_yoji

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています