インターネット/クラウドの最新潮流~PART02
NoSQL/Hadoop・Eucalyptus
■【NoSQL/Hadoop】大量データを分散処理 BI用途で導入始まる
1990年代に登場したオープンシステムの発達とともに、企業システムの基盤としてリレーショナルデータベース(RDB)が普及した。現在、企業が保持する定型データのほとんどは、こうしたRDBに格納されていると言ってよいだろう。
しかし、クラウド時代を迎えてデータ処理のニーズが多様化してきた。そこで脚光を浴び始めたのが「NoSQL」である。NoSQLは、問い合わせ言語にSQLを用いるRDB以外のデータベース全般を指す言葉だ。ちなみに「NoSQL」は、「No」というネガティブな語を含むことへの反発が当初から多く、現在では「NotOnly SQL」の略と解釈するのが一般的である。
■クラウド時代の必然から生まれた
RDB普及の背景にオープンシステムがあったように、NoSQLが出現した背景にはクラウドの存在がある。クラウド、特にグーグルなどのパブリッククラウドが扱うデータ量やユーザー数は、企業の業務システムで扱うデータ量や利用者数と比べると桁違いだ。
これに対応するため、グーグルは「BigTable」、アマゾンは「SimpleDB」と呼ぶデータベースを開発した。BigTableやSimpleDBはいずれも、「分散キーバリュー型データストア」と呼ばれる。
データ構造は、キーと、そのキーに関連づけられた値が複数連なるというシングルテーブルのような単純なもので、分散処理による高いスケーラビリティを実現する。一方で、トランザクションによる厳密なデータ一貫性の機能については、割り切った実装になっている。NoSQLへの注目は、このキーバリュー型データストアが中心となっている。
NoSQLに取り組んでいるのは、グーグルやアマゾンだけではない。最近よく話題に上るのは、Facebookが開発した「Cassandra」だろう。このほか、「Redis」や「Couch-DB」「Membase」など、世界各地で数多くのエンジニアがNoSQLプロジェクトを進行中である。国内では、ネット企業大手が競って独自のNoSQLを開発している。例えば、グリーの「Flare」、楽天の「Roma」、えとらぼの「kumofs」、「Tokyo Tyrant」などだ。
■【Eucalyptus】オープンソース活用し企業内クラウドを構築
Eucalyptus は、企業がAmazon EC2のようなIaaS環境を構築し、プライベートクラウドとして運用するためのオープンソースソフトウェア(OSS)である。開発母体であるカリフォルニア大学サンタバーバラ校における研究プロジェクトは2009年、Eucalyptus社という企業に発展し、2010年には2000万ドル近いベンチャーキャピタル投資を獲得。高い注目を集めるようになった。同社のパートナー参加企業には、DellやHP、Novell、VMWareといった大手ベンダーが名を連ねている。
■ユーザー自身が仮想マシンを作成できる
Eucalyptusの最大の特徴は、ユーザー自身が仮想環境を容易に構築できることである。ユーザーは必要なシステム環境を必要な時に利用開始できる一方で、システム管理者にとっては運用業務を削減できるメリットがある。
Eucalyptusを導入する際にはまず、システム管理者が「研修用マシン」や「実験用サーバー」「DBサーバー」といった用途に応じてOS、ミドルウェア、アプリケーションを組み合わせたEMI(Eucalyptus Machine Image)と呼ぶ仮想マシンテンプレートを登録する。ユーザーは「Euca2ools」と呼ぶクライアントツールを使ってEMIを選択するだけで、必要な台数の仮想マシンを即座に利用開始できる。これは、仮想マシンの起動や停止に伴うリソースの確保・開放を自動化しているからだ。
Euca2oolの入力方法はコマンドラインだが、サードパーティベンダーが提供するツールを利用すれば、GUIによる操作も可能である。さらに、 EucalyptusはAWS(Amazon Web Service API)互換のインタフェースを備えており、Amazon EC2上の仮想環境を同様に操作可能である。
■【NoSQL/Hadoop】大量データを分散処理 BI用途で導入始まる
1990年代に登場したオープンシステムの発達とともに、企業システムの基盤としてリレーショナルデータベース(RDB)が普及した。現在、企業が保持する定型データのほとんどは、こうしたRDBに格納されていると言ってよいだろう。
しかし、クラウド時代を迎えてデータ処理のニーズが多様化してきた。そこで脚光を浴び始めたのが「NoSQL」である。NoSQLは、問い合わせ言語にSQLを用いるRDB以外のデータベース全般を指す言葉だ。ちなみに「NoSQL」は、「No」というネガティブな語を含むことへの反発が当初から多く、現在では「NotOnly SQL」の略と解釈するのが一般的である。
■クラウド時代の必然から生まれた
RDB普及の背景にオープンシステムがあったように、NoSQLが出現した背景にはクラウドの存在がある。クラウド、特にグーグルなどのパブリッククラウドが扱うデータ量やユーザー数は、企業の業務システムで扱うデータ量や利用者数と比べると桁違いだ。
これに対応するため、グーグルは「BigTable」、アマゾンは「SimpleDB」と呼ぶデータベースを開発した。BigTableやSimpleDBはいずれも、「分散キーバリュー型データストア」と呼ばれる。
データ構造は、キーと、そのキーに関連づけられた値が複数連なるというシングルテーブルのような単純なもので、分散処理による高いスケーラビリティを実現する。一方で、トランザクションによる厳密なデータ一貫性の機能については、割り切った実装になっている。NoSQLへの注目は、このキーバリュー型データストアが中心となっている。
NoSQLに取り組んでいるのは、グーグルやアマゾンだけではない。最近よく話題に上るのは、Facebookが開発した「Cassandra」だろう。このほか、「Redis」や「Couch-DB」「Membase」など、世界各地で数多くのエンジニアがNoSQLプロジェクトを進行中である。国内では、ネット企業大手が競って独自のNoSQLを開発している。例えば、グリーの「Flare」、楽天の「Roma」、えとらぼの「kumofs」、「Tokyo Tyrant」などだ。
■【Eucalyptus】オープンソース活用し企業内クラウドを構築
Eucalyptus は、企業がAmazon EC2のようなIaaS環境を構築し、プライベートクラウドとして運用するためのオープンソースソフトウェア(OSS)である。
開発母体であるカリフォルニア大学サンタバーバラ校における研究プロジェクトは2009年、Eucalyptus社という企業に発展し、2010年には2000万ドル近いベンチャーキャピタル投資を獲得。高い注目を集めるようになった。同社のパートナー参加企業には、DellやHP、Novell、VMWareといった大手ベンダーが名を連ねている。
■ユーザー自身が仮想マシンを作成できる
Eucalyptusの最大の特徴は、ユーザー自身が仮想環境を容易に構築できることである。ユーザーは必要なシステム環境を必要な時に利用開始できる一方で、システム管理者にとっては運用業務を削減できるメリットがある。
Eucalyptusを導入する際にはまず、システム管理者が「研修用マシン」や「実験用サーバー」「DBサーバー」といった用途に応じてOS、ミドルウェア、アプリケーションを組み合わせたEMI(Eucalyptus Machine Image)と呼ぶ仮想マシンテンプレートを登録する。
ユーザーは「Euca2ools」と呼ぶクライアントツールを使ってEMIを選択するだけで、必要な台数の仮想マシンを即座に利用開始できる。これは、仮想マシンの起動や停止に伴うリソースの確保・開放を自動化しているからだ。
Euca2oolの入力方法はコマンドラインだが、サードパーティベンダーが提供するツールを利用すれば、GUIによる操作も可能である。さらに、 EucalyptusはAWS(Amazon Web Service API)互換のインタフェースを備えており、Amazon EC2上の仮想環境を同様に操作可能である。