BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Amazon EMRがApache HBaseをサポート

Amazon EMRがApache HBaseをサポート

ブックマーク

原文(投稿日:2012/06/15)へのリンク

 

今週、AmazonはAmazon Elastic Map Reduce (EMR)上でのHBaseのサポートを発表した。Jeff Barr氏によれば

AWSはすでにさまざまなのストレージや処理方法を選択肢として提供しています。そして、今日最も重要な製品を追加します。AWS上でApache HBaseを使って巨大なデータ(例えば、10億行100万列のデータ)を保持し処理できるようになります。

Barr氏によれば、EMRでHBaseをサポートするというAmazonの決定によって、下記の重要な機能がもたらされる。

  • 読み書きの厳密な一貫性
  • 書き込みの高スループット
  • テーブルの自動シャーディング
  • 空の多いデータの効率的格納
  • インメモリ処理によるデータアクセス遅延の低減
  • Hadoopのジョブへの直接入出力
  • Apache Hiveとの統合によるHBaseテーブルへのSQLライクなクエリでの問い合わせや、結合、JDBCのサポート

EMRで利用できるHBaseのバージョンは0.92。氏によれば、EMR上でのHBaseは下記のような用途に適している。

  • Hadoop Analyticsでのデータ参照の支援 - HBaseは高速なデータアクセスを提供するので、単一あるいは複数のHadoopクラスタが読み取るデータの保存先として最適だ。
  • データ収集とバッチ分析用のデータストレージ - 書き込みのスループットが高く、空のデータが多くても効率的に扱えるため、HBaseはリアルタイムで大規模なデータを収集できる。連続読み込みと最適化されたスキャンのサポートを組み合わせることでHBaseは"ほぼリアルタイム"の分析を行うための強力なツールになる。
  • 頻度カウンタとデータ集計の実装 - 厳密な一貫性を維持する読み取りと書き込みはカウンタとデータの集計結果を保持するのに理想的なプラットフォームだ。Map Reduceのジョブでmaxやmin、sum、average、group-byのような複雑な集計計算を行い、結果をHBaseに送ることができる。

EMRクラスタ上でHBaseを準備するのはとても単純だ。ドキュメントによれば、ユーザはジョブフローでHBaseを使うと定義すれば、必要なものはすべて自動的にインストールされる。他のEMRインスタンスと同様にクラスタのサイズや利用するマシンのタイプを定義することができる。

当初、EMRとHBaseは相性が良くないと思われていた。EMRは普通、あるジョブを実行するために準備され、その実行が終わればEMR自体の利用も終わる。一方、HBaseは永続データのストレージとして使われる。AWSはHBaseのバックアップとリストアをサポートすることで、この2つを組み合わせている。HBaseのデータのS3へのフルバックアップと増分バックアップをサポートしている。このサポートによって、HBaseはEMRが止まってもデータを失わない。Hiveの例で紹介されているのは、他のEMRクラスタからアクセスを受け付ける専用のHBaseクラスタを構築する方法だ。また、セキュリティ強化のため、Amazon EMRはターミネーション保護を有効にしてHBaseクラスタを立ち上げる。これによって、HBaseクラスタは不作為やエラーで止まらないようになる。

HBaseと使ったことがあるなら、クラスタの構成が最も難しいことを知っているだろう。Amazonが提供するデフォルトの構成はHBaseを使い始める上では良く出来ているが、さらにAmazonは特定の用途のために構成を最適化する機能を提供する。

総じて、EMRへのHbaseの追加はとても良い結果をもたらしそうだ。EMRを拡張するための効果的でコスト効率も良い方法を提供するだろう。HBaseの学習にも使えそうだ。

この記事に星をつける

おすすめ度
スタイル

BT