Apache HBase は、Apache Hadoop エコシステムの、非常にスケーラブルな分散型ビッグデータストアです。このサービスは、バージョン管理されたオープンソースの非リレーショナルデータベースで、(EMRFS を使用する) Amazon S3 や Hadoop Distributed Filesystem (HDFS) で動作します。数十億の行と数百万の列があるテーブルに対し、厳密な整合性のあるランダムなリアルタイムアクセスを行えるよう構築されています。Apache Phoenix では Apache HBase を統合し、Apache HBase テーブル全体に対する低レイテンシーな SQL アクセスと、パフォーマンス向上のためのセカンダリインデックス作成を実現しています。さらに、Apache HBase は Apache Hadoop、Apache Hive、Apache Pig と緊密に統合されているため、大量の並列分析と高速データアクセスを簡単に組み合わせて処理することができます。Apache HBase のデータモデル、スループット、耐障害性は、広告、ウェブ分析、金融サービス、時系列データを使用するアプリケーションなど、さまざまなワークロードに非常に適しています。
Apache HBase は Amazon EMR でネイティブにサポートされているため、AWS マネジメントコンソール、AWS CLI、Amazon EMR API から簡単かつ迅速にマネージド型の Apache HBase クラスターを作成できます。Amazon EMR の付加的な機能も活用できます。それには、コスト削減のために Amazon S3 をデータストアとして使用すること、リードレプリカクラスターを作成して可用性を向上させること、クラスターのハードウェアで Amazon EC2 インスタンスや Amazon EBS ボリュームの多様な選択肢を活用すること、Amazon EMR File System (EMRFS) を使用した Amazon S3 に対するバックアップと復元、ノードの自動交換、クラスター内のインスタンスを簡単に増減できるサイズ変更のコマンドなどが含まれます。また、Hue を使用し、HBase テーブルを可視化してデータを調査することもできます。Apache HBase および Amazon EMR での Apache HBase の詳細。
特徴と利点
スケールに応じたパフォーマンス
Apache HBase は、数百のノードにスケールアウトして、数十億の行と数百万の列に対応しつつ、パフォーマンスを維持できるよう設計されています。Amazon S3 (EMRFS を使用) または Hadoop Distributed Filesystem (HDFS) を、耐障害性のあるデータストアとして利用します。Amazon EMR では幅広いインスタンスタイプと Amazon EBS ボリュームがサポートされているため、コストとパフォーマンスが最適化されるようクラスターのハードウェアをカスタマイズできます。さらに、Apache Phoenix を使用して、大量の HBase テーブルに対して低レイテンシーの SQL を実現したり、パフォーマンス向上のためにセカンダリインデックスを作成したりできます。
分析ワークロード
Apache Hadoop エコシステム内でプロジェクトと緊密に統合することにより、HBase テーブルに保存されたデータの大量の分析ワークロードを簡単に並列で実行できます。Apache HBase とともに、Amazon EMR クラスターには Apache Phoenix、Apache Hadoop、Apache Hive、Apache Pig およびその他オープンソースのビッグデータアプリケーションを簡単にインストールでき、これらのツールを利用して Apache HBase 内のデータのレポート作成、SQL クエリ、その他の分析ワークロードを実行できます。また、これらのツールを使用して Apache HBase テーブルにデータを一括インポート/エクスポートすることや、Apache Hive を使用して Apache HBase のデータを Amazon S3 の外部テーブルと結合することも可能です。
Amazon EMR との統合
すべて設定済みの Amazon EMR クラスターを数分で簡単に起動し、Apache HBase、その他の Apache Hadoop や Apache Spark エコシステムのアプリケーションを実行することができます。Amazon EMR ではパフォーマンスの低いノードが自動的に置き換えられ、要件に応じてクラスターのサイズを簡単に調整することができます。Apache HBase では、Hue UI を使用したテーブルの管理とデータの参照が可能で、EMRFS と Hadoop MapReduce を使用して、テーブルのバックアップと復元を Amazon S3 で簡単に行うことができます。さらに、Amazon EMR で Apache HBase を使用する場合、Amazon EMR の承認、Kerberos 認証、暗号化機能セットを利用できます。Amazon EMR の特徴の詳細についてはここをクリックしてください。
HBase 向け Amazon S3 ストレージ
Amazon EMR では、EMR ファイルシステムによって Amazon S3 を Apache HBase のデータストアとして使用できます。Amazon S3 をデータストアとして使用し、クラスターのストレージノードとコンピューティングノードを分けることには、オンクラスターの HDFS と比較していくつかの利点があります。HDFS データストレージの代わりにコンピューティングの必要に合わせてクラスターのサイズを設定することでコストを節約し、S3 ストレージの持つ可用性と耐久性を手に入れ、基盤となるストレージに影響を与えることなくコンピューティングノードをスケールすることが可能になります。また、コスト節減のためにクラスターを削除することや必要なときにすばやく回復することも可能です。別の Amazon EC2 アベイラビリティーゾーンにリードレプリカクラスターを作成し、プライマリクラスターと同じデータへの読み取り専用アクセスを設定すれば、プライマリクラスターが利用できなくなった場合でもデータへのアクセスを中断させずにすみます。
HBase と Amazon EMR を使用したお客様事例

FINRA (Financial Industry Regulatory Authority) は米国の、最大の独立系証券取引規制機関で、金融取引の監視と規制を行っています。FINRA は、3 兆件のレコード (毎日数十億単位で増加する) に対するランダムアクセスのため、Amazon EMR を使用して Amazon S3 で Apache HBase を運用し、対話型のアプリケーションで関連する市場での出来事を検索し、表示できるようにしています。ストレージとコンピューティングを切り離すことで、FINRA は、3 倍のレプリケーションが発生する HDFS でデータを保存するようにクラスターのサイズを調整する代わりに、データの単一コピーを Amazon S3 に保存し、必要とされるコンピューティング性能に合わせてクラスターのサイズを調整することができます。この結果、年間 60% を超えるコストが節約され、コンピューティングのスケーラビリティが容易に確保されて、新しい EC2 アベイラビリティーゾーンにおけるクラスターの復元時間が数日間から 30 分未満にまで短縮されています。

人と仕事をつなぐ面でのグローバルリーダーである Monster は、Amazon EMR で Apache HBase を使用して、クリックストリームと広告キャンペーンデータをダウンストリーム分析のために保存しています。これにより、さまざまな顧客セグメントがキャンペーンに対してどのように行動したか、単一のインプレッションレベルの細かさでモニタリングできています。Monster の分析チームは行を簡単にスキャンすることで、ユーザーごとのビューとクリックの数を集計し、キャンペーン活動について確認できます。さらに、同社では Apache HBase と Apache Hadoop エコシステムとの緊密な統合も活用しています。Monster では Apache Hive を別の Amazon EMR クラスターで実行して HBase テーブルを SQL でクエリしています。これは、さらに詳細な分析の実行、および Apache HBase から Amazon Redshift へのデータエクスポートに役立っています。
ブログ記事


Amazon EMR 料金の詳細