OSS(オープンソースソフトウエア)のミドルウエア、「Hadoop」が注目されている。大量のデータ、とりわけログ、テキスト、画像といった非構造化データを取り扱うための高速な情報処理基盤を安価に構築できるからだ。そこで本連載ではHadoopを基礎から説明する。

 本連載は情報システム部門の企画担当者や利用部門のIT活用推進者などが対象。序盤ではHadoopの基本やアーキテクチャーを解説。回を追って分散ファイルシステムの操作とMapReduce処理をコードで確認。ユースケースやクラスタ管理にも言及するほか、2012年に予定されている次期メジャーリリース0.23の情報などの最新トピックも取り込んでいく。

*  *  *

ニーズ高まる「ビッグデータ」の基盤

 日本にとって2011年は「ビッグデータ」元年だったと言ってよいのではないでしょうか。ビッグデータに関わる製品やソリューションが国内外のベンダーから発表となり、多くのITに携わるアーキテクト、エンジニアがビッグデータに注目をし、研究を開始しました。IT活用の推進に関わる方々は、今のうちに正しくビックデータとApache Hadoopを理解しておく必要があるでしょう。

 そこでまずビッグデータという言葉の定義について、筆者の考えを述べておきます。この言葉は広義と狭義の意味があり、解釈する立場によっても多少変化します。しかし、ここで厳密な定義を示すことにはあまり意味がないと考えています。

 大事なことは、そうした言葉にきちんとアーキテクチャーと技術が伴っているかどうかということです。例えば近年のITの歴史でも「サービス指向アーキテクチャー(SOA)」や「クラウドコンピューティング」といった言葉は、時に「定義があいまい」と指摘されてきました。それでもこれらの言葉は市場に浸透し、企業の情報システム部が取り組む重要なテーマとなっています。

 これらと同様に「ビッグデータ」という言葉にもしっかりとアーキテクチャーと技術が伴っています。以下に、3つのキーワードが示すアーキテクチャーと技術を整理してみました(表1)。

表1●3つのキーワードが示すアーキテクチャーと技術
キーワード 主なアーキテクチャ 主な技術
ビッグデータ 分散コンピューティング、分散処理システム、大容量分散ファイルシステム MapReduce、分散ファイルシステム、キーバリューストア、機械学習
サービス指向
アーキテクチャー
(SOA)
全体最適、サービス化、変化対応、疎結合、EAのTA(技術体系)/AA(適用処理体系) ビジネスプロセスエンジン、エンタープライズバス、Webサービス、XML
クラウド
コンピューティング
HaaS、IaaS、PaaS、SaaS 仮想化、ネットワーク、ミドルウエア
EA:エンタープライズアーキテクチャー/ HaaS:ハードウエア・アズ・ア・サービス/ IaaS:インフラストラクチャー・アズ・ア・サービス/ PaaS:プラットフォーム・アズ・ア・サービス/ SaaS:ソフトウエア・アズ・ア・サービス

 本トピックとは少しずれますが、これら3つのキーワードは互いに密接な関係があります。SOAは、業務の視点から企業システムを捉え疎結合と共通化を実現しました(図1)。

図1●SOAでの業務の粗結合
図1●SOAでの業務の粗結合

 ビッグデータはデータの視点で企業システムを捉え、ビジネスに活用しようという取り組みです(図2)。

図2●データの視点で企業システムを捉える
図2●データの視点で企業システムを捉える