NetApp Tech OnTap NetApp Logo
NetApp Tech OnTap
     
「NetApp ビッグデータソリューション
NetApp Open Solution for Hadoop の全貌」
シェアする NetAppオフィシャルFacebook

Hadoop とは?

「ご参加されたみなさんの中で Hadoop を(だいたいどんなものか)ご存知の方どれくらいいらっしゃいますか?」とあるイベントでセッションの冒頭で質問したところ、まだ多くの方がその中身についてご存知ないという返答でした。それでも、少し前よりも認知度が高まってきているのではと感じています。IT 関係の情報サイトでは少なくとも週に1度は “Hadoop” をキーワードとした記事を目にするようになってきましたし、Web 検索すればそれなりに多くの情報も出てくるようになりました。Hadoop は「並列分散処理基盤」などと堅苦しい漢字が並べられて表現されることがあります。そのとおりではあるのですが、では「 Hadoop で何ができるのか?どのように活用したらよいか?何がもたらされるのか?」を理解するにはそれなりに時間がかかるかもしれません。 Hadoop を活用するにあたってはそこがとても重要なところになってくるのですが、その部分は連載後半の自社事例をのぞきながらお話させていただくとして、まずは Hadoop の簡単な歴史、そして技術者にとっては気になる中身・インフラ視点を中心にお話したいとおもいます。

Hadoop の起源は Google にあり

Google はみなさんよくご存じかと思います。そう、あの巨大な検索エンジンを提供している会社です。Google 社は Web 上のあらゆる情報を貯めこんで、それを検索できるように日々加工しています。日常利用されている方も多いと思いますので、なんとなくでも想像がつきそうですが、それはもうとてつもないデータ量になります。そんなデータ処理を現実的な時間内に処理するために独自の技術を開発し利用していました。その技術が論文で発表され、それを元にオープンソースで同じような仕組を実現しようとしたのが「 Hadoop 」です。

Hadoop の使われ方

Hadoop の活用の例としてみなさんがイメージしやすいのはアクセスログ、SNSによる市場や消費者の行動分析でしょう。Facebook、Yahoo、日本では「はてな」さん、「楽天」さんらドットコム企業が先駆けて活用してます。 Hadoop の有用性がこうった企業から明らかにされてきました。
また、検索インデックスの作成は、大量のデータから処理するため従来時間がかかるものであり RDBMS で非現実的であった処理を Hadoop では現実的な時間で処理を完了できるようになった一例です。


       Hadoop の使われ方

一方、実は、海外ではこれらの他にも様々な使われ方をしています。例えば米国では金融機関によるトレンド分析、医療機関による薬の作用分析、不正検出、政府機関やセキュリティ分野でも活用されています。

ビッグデータ関連の需要動向調査によると、前述のソーシャルメディア分析よりも不正取引や不正アクセスなどのリスク管理へビックデータ活用の意識が高まっているという調査会社の結果もあり、Hadoop においても同様な傾向があるようです。

更に、今年行われた Hadoop Summit 2012 のキーノートでは「 Hadoop は 2015 年までに世界のデータの半分を処理するようになるだろう」と興味深い発言がありました。2015 年はもうすぐ目の前、たった 3 年後です。かなり大胆発言な気もしないでもないですが、Hadoop を知っていくとまんざらでもないような感じもする今日この頃です。

このように、どんどん活躍の場を広げてきている Hadoop ですが、中身はどんなものでしょうか。

Hadoop のエコシステム

Hadoop は OS 上のミドルウェアに位置づけされるものでありますが、それは1つではなく複数のプロダクト(ここではソフトウェアという理解でよいでしょう)で成り立っています。これは Hadoop のエコシステムと呼ばれたりしています。この中で核(コア)となるプロダクトがあります。「 Hadoop Distributed FileSystem(HDFS) 」と「 HadoopMapReduce 」です。

Hadoop はオープンソースソフトウェアということもあり、マスコットが存在しています。それが図中央にもあるような黄色い象です。そもそも Hadoop という名前の名付け親は、開発者の Doug Cutting 氏であり、そのお子さんがもっていた黄色い象のぬいぐるみについていたものが Hadoop だったそうです。特にこれといった意味があるわけではないんですね。象さんから始まったマスコットがきっかけなのか、エコシステムの中の他のプロダクトのキャラクターも主に動物が使われています。たくさん集めるとエコシステムが動物園のようにも思えてきますし、実際 ZooKeeper (図右上のキャラクター)なんてプロダクトも存在します。

Hadoop のコア要素 ~HDFS と MapReduce~

ここで Hadoop のコアとなるプロダクト、HDFS と MapReduce に触れておきます。連載中の Hadoop ソリューションのポイントをおさえるうえで重要になるコンポーネントだからです。

HDFS は複数のコンピュータ(の内蔵 HDD) を 1 つの HDD のように扱うことができるプロダクトです。通常1つのファイルは1つのコンピュータ上の HDD (ハードディスクドライブ)上に格納されるわけですが格納できるデータ量やパフォーマンスはそのコンピュータおよび、格納される HDD の性能に依存してしまいます。1つではなく多数の HDD にバラしてそれが行えれば、巨大なデータも格納可能、IO 処理負荷も軽減できて素早く行うことができます。このようにバラバラにデータを保管する方式を分散ファイルシステムと呼びます。


       HDFS のイメージ

複数に格納される際には一定のブロック単位に分割且つ複製されます。これにより分散されていた一部のコンピュータに障害が発生したとしてもデータを失わない仕組みになっています。

続いて MapReduce です。先ほどの HDFS を使って格納されたデータを処理するための仕組みです。MapReduce を使うことでデータ処理を複数のコンピュータに並列に処理させることができます。人間の仕事でもある1つのことを成し遂げるのに1人でやるよりも複数で手分けしてやった方が早く完了できる、それと同じ事が可能です。ただし、複数人で仕事を成し遂げる場合、それぞれの進捗や仕事の関連・依存制などで歩調を合わせる必要があるのと同じように、コンピュータにおいても並列処理をさせるために互いの処理を連携させる部分や故障が発生した場合の対応などいろいろと考慮しなければならず、そのプログラムを作るのがとても難しいという課題があります。MapReduce はそういった課題に対して解決しつつ並列処理を可能にする分散フレームワークを提供しています。


       MapReduce のイメージ

本ブログの以降の連載ではこのコア要素の理解が不可欠であるため、先にイメージをご紹介しました。他のエコシステム内のプロダクトも様々なものがありますがここではとりあげません。例えば開発を支援するもの、運用を支援するもの、外部の RDBMS などと連携するものなどがあります。

今回は Hadoop の大枠や技術的な要素の概要をお話しました。前半にお伝えしたように Hadoop の使われ方も様々な領域に広がってきており、だんだんとドットコム系以外の企業から目も向けられるようになってきています。しかしながら Hadoop 自身も発展途上なところもまだあり、有用性がわかったところで手軽に一般企業が利用できるようなものかというと、そうではありません。管理者層や経営者層に対しては 「 Hadoop で何ができるのか?どのように活用したらよいか?何がもたらされるのか?」を伝えるために理解を深めると共に、IT技術者にとってはインフラとしての課題の把握も大事になってきます。

次回ではまず現時点で課題となる Hadoop インフラのポイントを Hadoop のアーキテクチャに触れながらおさえたいとおもいます。


倉持健史(くらもちたけし)
パートナーSE 部 システムズエンジニア
NetApp




東京電機大学情報科学科卒、UNIX 系 SIer、Linux HA クラスタソフトウェアメーカを経て 2011 年 9 月パートナー SE として入社
プリセールス SE としてパートナー支援を中心に活動、本年度からは BigData ソリューションも担当
1978 年 8 月 22 日 東京生まれ
基本はインドアだが登山も好き、TEKKEN はポールでゴリ押し
関連情報
関連情報
第一回:NetApp ビッグデータソリューション
関連情報
 
Go further, faster TRUSTe
お問い合わせ   |   購入方法   |   フィードバック   |   採用情報  |   登録   |   プライバシーポリシー   |   © 2012 NetApp