「Apache Hadoop(アパッチ ハドゥープ)」とは、 ビッグデータを複数のマシンに分散して処理できる、オープンソースのプラットフォームである。
ビッグデータを蓄積、分析する際に発生するプロセス同士の通信、監視、障害時の対応といった煩雑な作業を、Mapper、Reducerと呼ばれる2つのスクリプトを作成するだけでまかない、容易に大規模データの分散処理を実現する。
Hadoopは、 2004年にGoogleが論文で発表した独自の分散処理フレームワーク「MapReduce」をもとに開発が始まり、現在は、HadoopはApacheのトップレベルプロジェクトのひとつとして、世界規模の開発貢献者コミュニティによって開発が続けられている。
Hadoopは、アプリケーションが数千ノードからペタバイト級のデータを処理することを可能にするが、オーバーヘッドが大きく、パフォーマンスが求められるリアルタイム処理には向かない傾向がある。
パフォーマンスが求められる分散処理プラットフォームとしては「Spark」がある。
そのほかのHadoopの特徴は、次のとおり。
■データ量に応じたスケールアウトが可能。
Hadoopは、シンプルながら、さまざまな処理に柔軟に対応できるプログラミングモデル「MapReduce」と分散ストレージ「HDFS」で構成されており、スケールアウトを前提として設計されているため、サーバ台数の増加に応じて性能を上げていくことが可能となる。
■スキーマ定義が不要。
「HDFS」にデータを格納する際にはスキーマ定義が不要であるため、事前の設計の手間を低減できる。Hadoopでは処理するタイミングで意味づけを行うため、とりあえずデータを格納し、処理の方針が決まった段階でデータの扱い方を定義することができる。
■高い耐障害性がある。
Hadoopには専用ハードウェアや特別なスペックが必要なく、市販のサーバを利用できるため、基盤構築の費用を抑えることができる。
また故障発生を前提としたアーキテクチャであり、耐障害性が高い。複数のマシンを1つのストレージとして扱うことができるため、一部のマシンが故障してもデータが失われないように設計されている。また一部のノードが故障した場合でも、すぐに別のノードへ処理を振り分けることが可能である。
■あらゆる言語でスクリプトを作成することができる。
HadoopのフレームワークはJavaで書かれているが、標準入出力を持つ言語であれば、あらゆる言語でスクリプトを作成することができる。
ビッグデータのビジネス活用に欠かせない分散処理基盤「Apache Hadoop」の企業導入に役立つ主なディストリビューションを紹介している。
Analytics News ACCESS RANKING