膨大なデータ処理を高速で行うことができるHadoopは、米Apacheソフトウエア財団(ASF)が開発した分散型データベースソフトウェアです。WebサーバであるApache HTTP Serverと同様、オープンソースとしてソースコードが公開されています。
なお、Hadoop自体はJavaで書かれています。Hadoopの開発には、米Yahoo!やFacebookなど、Webサービス開発におけるそうそうたるメンバーが参加しています。Hadoopクラスタは数千台規模に達しており、ペタバイト規模のストレージが実現しているといわれています。
データベースにはこんなに種類がある
データベースには、おもに次のような種類があります。
・リレーショナルデータベース
現在最も利用されているもので、MySQLなどがこれにあたります。テーブルという概念でデータの集合を格納し、各テーブルを関係づけます。
・オブジェクト指向型データベース
複雑なデータ構造に向いており、写真や画像、音声などの異なるデータを統合して扱えます。
・XMLデータベース
XMLを扱うための機能を持つデータベース。拡張性が高いのが強みです。
・分散型データベース
データベースを複数に分け、複数のコンピュータで管理します。全体としてひとつのデータベースとして扱います。障害に強いという利点がある一方、セキュリティ管理が難しいのが難点です。
ビッグデータ時代のデータベース
分散型データベースのHadoopは、複数のコンピュータでデータ処理を行うため、処理の集中が起きにくい特徴があります。拡張性にも優れているため、大規模かつ複雑なデータ処理に適しています。
例えば、昨今もてはやされているビッグデータ。これはデータ量が膨大なうえ、画像や動画、音声ファイルなどさまざまな要素から構成されています。というのも、今まで主流だったリレーショナルデータベースでは対応できないため、新しいアプローチの仕方が必要とされていたからです。まさにHadoopは、ビッグデータ時代のデータベースシステムといえます。
また、Hadoopの商用サポートやトレーニングをミッションとするClouderaというベンチャーが立ち上がっており、Hadoopの設定を簡略化するためのツール群を提供しています。導入を検討している場合はこれらを参考にするとよいでしょう。
ただ、企業の中ではリレーショナルデータベースの採用がいまだ根強く、Hadoopのような分散型データベースを導入するとしても、既存のシステムとの統合がまず検討されています。そのため、Hadoopについてこれから学びたいという方は、主流のリレーショナルデータベースなど、各データベースの仕組みや特徴について、一通りおさえておいたほうがよいでしょう。