[Hadoop][HBase][Cloudera]HBase 0.92 がリリースされました

Apache HBase 0.92.0がついにリリースされました。

http://www.cloudera.com/blog/2012/01/apache-hbase-0-92-0-has-been-released/

最近あまりHBaseは触っていなかったのですが、

紹介だけでも。

 

HBaseなにが変わったか、ざっくりといいますと、

性能(performance)頑健性(robustness)ロゴ(logo)

 

性能では、主に以下のような修正があります。

 ・HFile v2が導入された

 ・サーバダウン時のHLog(コミットログみたいなもの:WAL)の分割の分散化

 ・テーブル作成やバルクロード、コンパクションなどのマルチスレッド・非同期化

 

私的には特に、コンパクションが早くなっているのが気になりますね。

コンパクションはMemStoreのフラッシュのたびに増えるStoreFileの集約・効率化のために欠かせないのですが、

コンパクションを行っている間は書き込みがブロックされてしまうため、

処理性能の劣化や予期しないタイミングでの実行による不安定化を招きます。

 ※JavaのGCやPostgreSQLのバキュームのイメージです。

 

HBaseを商用運用したことがないので予想が、

 どうコンパクションやその後のRegion分割をコントロール(回数減らす、手動で実行など)するか

が、ポイントだと思います。

それを後押ししてくれるのは、うれしい限りでして。

 

次に頑健性については、

 ・WebUIにより詳細なHBase内部の情報が見れるようになった

 ・遅い検索処理をロギングする機能を改善

 ・データの競合や修復用のコマンドhbckやメタデータテーブルをリビルドできるOfflineMetaRepairを改善

 

なんでも、遅いクエリをメトリクス(JSON)でロギングしてくれるそうで、

たまたまGCやフラッシュ、コンパクション、Region分割と処理が株って遅くなったのか、

そもそも検索条件がおかしいのか、

これで分かるようになるようです。

 

その他としては、

 ・開発者向け開発環境が改善

 ・ Hadoop1.0.0をベースにビルドを行い、0.22や0.23のベータ版とも試験をしていく。

 ・メモリのフラグメント化などが起きぬよう、手動でメモリ管理するoffheap slab cacheの実装

 ・テーブルの削除なしにスキーマ削除できる

 

あ、ロゴは以下の通り。

 

f:id:t_otoda:20120126003213p:plain

 

Clouderaの予定としては、

CDH4でHBase0.92.0をベースにするそうです。

HBase0.92の機能の一部はチケット対応などですでにCDH3に一部が含まれているとか。

 

今度個別にインストールしてみようかな。

 

ではでは。