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

2010年11月22日

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

Welcome to HBase!

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

  • 負荷に対して非常に高いスケーラビリティと性能を発揮
  • CassandraよりもシンプルなConsistency Model(一貫性モデル)を備えている
  • 自動ロードバランス、フェイルオーバー、圧縮機能
  • サーバーごとに数十個のシャードを割り当て可能、などなど

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

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

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

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

HBaseとは

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

HBaseの出番

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

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

HBaseは強い一貫性を備える

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

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

write性能とread性能のトレードオフ

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

HBase:Writeの動作

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

第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データベースの違い。

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

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

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

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氏から情報を提供してもらいました。ありがとうございました。

参考:FacebookがHBaseを大規模リアルタイム処理に利用している理由(前編)
参考:FacebookがHBaseを大規模リアルタイム処理に利用している理由(後編)
参考:Google、HBase API互換のCloud Bigtableを公開、Googleの基盤で使われてきたNoSQLデータベースが利用可能に。Cloud Datastoreとの違いは?

あわせて読みたい

NoSQL データベース




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

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

最新記事10本