SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

初めてのHBase

HBaseを触ってみよう

初めてのHBase 第1回

  • X ポスト
  • このエントリーをはてなブックマークに追加

HBaseとRDBの比較

 最後にHBaseとRDBを比較してみましょう。

 まず、RDBの人気が高いの理由の一つとしてデータをSQLで扱えるということがあると思います。SQLは非常に強力で広く普及しているので、SQLでデータを扱えることは大きなメリットですが、HBaseはデータをSQLでは扱うことができません(※1)。

 また、RDBはいわゆるACID属性を持っています。しかし、HBaseはRow内に限定されたトランザクションしかありません(※2)。

 HBaseを使うことのメリットは、RDBで扱いきれないような大規模なデータを扱う場合にあります。自動シャーディングによって負荷が分散されていき、HRegionServerを増設することで性能をスケールすることができます。また、障害時にも自動的にフェイルオーバーされるなど運用面でメリットがあると考えています。

 もちろん、RDBでも大規模なデータを扱うことは可能です。例えば、FacebookではMySQLを大規模なデータに対してスケールさせることに成功しています。ただし、そのためにはジョインを用いないことや非正規化を行う必要があります。

 そうなってくると、HBaseとそうは変わらないように感じます。そういう意味では、HBaseはそういった作業をまとめたものと言えるでしょう。

 読者の中には、そもそも大規模なデータがないのでHBaseなんて必要ないと思われる方がいるかもしれません。確かにそのようなケースもあるでしょう。

 しかし、近年のビックデータという潮流の中で、今後アプリケーションを開発するときに、大規模なデータを利用することはないとは言い切れないのではないでしょうか。その際にあらゆる選択肢を持っておいた方が良いと思います。

 その選択肢の一つとしてHBaseがあるということになります。

※1

 HBaseをSQLライクに扱うプロジェクトとしては、HBqlというものがあります。

 参考:http://www.hbql.com

※2

 hbase-0.94からは同リージョン内の複数Row間でのトランザクションが可能になっているようです。
 参考:https://issues.apache.org/jira/browse/HBASE-5229

HBaseを触ってみよう

 それでは実際にHBaseを動かしてみましょう。

 執筆時点で最新のステーブル版であるhbase-0.94.3を使います。今回はスタンドアロンモードで動かすのでHDFSをインストールせず、HBaseのみインストールします。

 HBaseをインストールする前にJavaのインストールが必要です。HBaseはJava6に依存しているので、Java7は使わないようにしてください。今回はJavaがすでにインストールされていることを前提とします。

 また、Windowsにインストールする場合はCygwinをインストールする必要があります。

 ただし、WindowsへのHBaseのインストールは、改行コードの扱いの違い(※3)やcygwinのバージョンなどによってはうまくいかないことがあります。無理にWindowsにHBaseをインストールするよりも、仮想化ソフトを使いLinuxのインスタンスを立ちあげてそちらにインストールすることをおすすめします。

※3

 改行コードの扱いの違いはcygwin上の以下のコマンドで解決できます。

$ set -o igncr
$ export SHELLOPTS

HBaseのインストール

 まず、本家のページからHBaseをダウンロードします。今回は、ftp.jaist.ac.jpからダウンロードしています。

$ cd /usr/local
$ wget http://ftp.jaist.ac.jp/pub/apache/hbase/hbase-0.94.3/hbase-0.94.3.tar.gz

 ダウンロードが完了したら、解凍します。

$ tar -zxvf hbase-0.94.3.tar.gz
$ cd hbase-0.94.3

 Javaへのパスが通っていない場合は以下を実行します

$ export JAVA_HOME=<Javaのインストールパス>

 HBaseを起動します。

$ bin/start-hbase.sh

 起動したら、http://localhost:60010/master-statusにアクセスしてみましょう。以下のような画面が表示されたら起動成功です。

 HBaseを停止したい場合はの以下のコマンドを実行します。

$ bin/stop-hbase.sh

次のページ
まとめ

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
初めてのHBase連載記事一覧

もっと読む

この記事の著者

鈴木 俊裕(スズキ トシヒロ)

株式会社サイバーエージェント アメーバ事業本部 Ameba Technology Laboratory 2008年4月に株式会社サイバーエージェントに新卒で入社。基盤システムの開発・運用に従事する。 2010年4月にHadoop/Hiveを用いたログ解析基盤の開発・運用を担当する。 2011年4月に、ログ解析、レコメンド、検索エンジンなどを開発するAmeba Technology Laboratoryの立ち上げメンバーとなる。 2011年10月からHBaseを用...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6940 2013/01/16 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング