HBaseとはどんなNoSQLデータベースなのか? 日本語で読める情報を集めてみた

2010年11月22日

Facebookが新しいサービス「Messages」の基盤として、NoSQLデータベースの「HBase」を選択したことを、先日の記事「Facebookが新サービスの基盤にしたのは、MySQLでもCassandraでもなく、HBaseだった」で紹介しました。

Welcome to HBase!

HBaseは、Facebookによると次のような特徴を備えていると説明されてます。

このHBaseはどのようなデータベースなのでしょうか? 情報を集めてみました。

HBase入門のプレゼンテーション

最初に紹介するのは「HBaseエバンジェリスト」Tatsuya Kawano氏のプレゼンテーション「Apache HBase 入門 (第1回)(SlideShare)」です。HBaseを理解するために分かりやすく情報が整理されています。

いくつかのスライドを引用しましょう。HBaseの特徴は、グーグルのBigTableを参考に、HadoopのHDFS上に構築されたデータベース。

fig

数十億件のデータ、数百ノードの分散システムではHBaseの出番。自動シャーディング、柔軟性のあるテーブル構造などの機能を備える。

fig

自動シャーディング機能。テーブルはリージョンに自動的に分割され、リージョンはワーカーノードにランダムに割り当てられる。テーブル構造は柔軟で、行を書き込むときに自由にカラムを追加できる。データ型はByte配列。

強い一貫性を備え、更新前の古いデータが見えることはない。

fig

第1回に続き「Apache HBase 入門 (第2回)(SlideShare)」も公開されています。

MySQLのような一般的なデータベースでは、read性能が重視されていますが、HBaseではwrite性能の方が重視されていると。

fig

そのHBaseのwriteの動作は、リージョンサーバのメモリにバッファリングされ、一定サイズに達したらディスクへ書き込み。

fig

リージョンサーバがダウンしたときにメモリ内のデータが失われないように、コミットログも記録するとのこと。

第3回の資料「Apache HBase 入門 (第3回)(PDF)」も公開されています。第3回では、第2回の後半で触れられていたHBaseとCassandraの設計上の違いについて解説されています。

HBaseとCassandraの違い

NoSQLデータベースでよく知られるCassandraとHBaseのアーキテクチャの違いにフォーカスを当て、それぞれを詳しく解説したのが豊月(ゆつき)氏(@yutuki_r)氏のプレゼンテーション「CassandraとHBaseの比較して入門するNoSQL」です。

NoSQLデータベースとはどのようなものなのか? という解説からKVS、CAP定理の紹介と続き、アーキテクチャの解説へと入っていきます。HBaseとCassandraのアーキテクチャが同時に理解できて、とてもためになる資料です。この資料からもポイントを2枚だけ引用します。

BigTable、HBase、Cassandra、Dynamoの4つの代表的なNoSQLデータベースの違い。

fig

HBaseがどのような要素で構成されているか。

fig

HBaseを試してみる

NoSQLデータベースを試してみる:第5回 大規模データを扱うためのHBaseとCassandra|gihyo.jp … 技術評論社

Gihyo.jpに掲載された連載「 NoSQLデータベースを試してみる」の「第5回 大規模データを扱うためのHBaseとCassandra」は、HBaseのインストール、試す方法などが紹介されていますので、自分で試すときに役に立つ記事でしょう。

CodeZineの記事「 Hadoop、hBaseで構築する大規模分散データ処理システム 」は、グーグルのBigTable、Hadoopなどの説明からHBaseまでを取り扱っており、概要を把握することができます。

そのほか、以下のWebサイトでHBaseの情報を扱っています。

HBaseの書籍とコミュニティ

HBaseについて専門に解説した書籍はまだ登場していませんが、オライリーの書籍「Hadoop」の中で、12章が「HBase」の解説となっています。HBaseの基礎とデータモデル、そしてLinuxへのインストールと基本的な使い方やデータ操作の方法などが記されています。

Hadoop Hadoop
Hadoopの基礎から応用までを包括的に解説。Hadoopの分散ファイルシステムHDFSやI/Oの効率化の仕組み、MapReduceについて詳しく解説します。後半ではHDFSと MapReduceを実行するためのHadoopクラスタの立ち上げと管理など。(目次

またHBaseのコミュニティも「Hadoopユーザー会」となり、メーリングリストもGoogle Groupsの中に「Hadoopユーザー会」 として存在しています。

この記事は、HBaseエバンジェリストのTatsuya Kawano氏から情報を提供してもらいました。ありがとうございました。

このエントリーをはてなブックマークに追加
follow us in feedly

タグ : NoSQL



≫次の記事
EMCはなぜアイシロンを買収したのか?
≪前の記事
最近のRESTの進化。バージョン番号、状況報告、プロダクトとしてのAPI

Loading...

Blogger in Chief

photo of jniino Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。新しいオンラインメディアの可能性を追求しています。
詳しいプロフィール


Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed



Publickey 最新記事 10本

Publickey Topics 最新記事 10本


PR - Books


fig

fig

fig

fig



blog comments powered by Disqus