2016-12-04 5 views
1

私は、予測的なメンテナンスのためのリアルタイムアプリケーションを構築したいと考えています。 私はPhoenixでHbaseを使うことを考えました。 PhoenixはHBa​​se上にSQLレイヤーを提供します。リアルタイムアプリケーションのためのHbase

私はHbaseが1億行プラス++のようなビッグデータに適していると読んでいます。 しかし、私のアプリケーションデータには現在データがありません。冒頭に少量のデータしかない場合、Hbaseデータベースはどのように反応しますか? HBaseはリアルタイムWebアプリケーションに適したソリューションですか?

私はラムダアーキテクチャのようなシステムを使いたいと思っています。バッチ処理とストリーム処理の場合。 HDFSの上にあるHBaseはOLTPとOLAPシステムで一緒に使えますか?

ラムダアーキテクチャにはBatch and Speedレイヤがあるため、 HBaseデータをHDFSでバッチ処理にも使用でき、その結果をHbaseに保存できますか?

一般的に、私は、HBaseがリアルタイムのWebアプリケーションを構築して分析を行う可能性を持つ良いソリューションであるかどうかを知りたいと思っています。

ボリューム:

答えて

1

HBaseのは、一般的に次のように基づいて選択され、何百万と数十億がより優れている何千人と数百万人

特長:あなたは、トランザクション、セカンダリインデックスと一部のRDBMSの機能を必要としない

ハードウェア:リージョンサーバーに十分なハードウェアがあることを確認してください。それは、メンテナンス

より具体的な

の良い量を必要とする:

そのため、その高速なランダム読み取りクエリへのWebアプリケーションに最適。しかし、これは非常に良い行キーの設計にのみ付属しています。これには、事前にエンドクエリを計画し、行キーを設計する必要があります。あなたが時間ベースのデータを持っていて、クエリーがそれに大きく依存しているなら、特別な注意が必要です。要するに、ホットスポットを避けるべきです。いくつかの情報here

これ以外にも、HBaseフィルタを使用して他の列の値を選択することはできますが、選択肢は非常に少なく、Webアプリケーションの応答時間が保証されません。

はまた、あなたのデータセット(行)が列の可変数を持っており、また、あなたのクエリ内のすべての列を必要としない場合は、HBaseのは再び最高の選択

サーバー(地域)でフェイルオーバーがHBaseの中で可能です - あなたのデータは安全です。

バッチとストリーミングの両方に使用できます。 Ofcourseは、ビッグデータスタックで最高のストリーミングを実現します。しかし、これはあなたのストリーミングパイプライン(カフカ、スパークストリーミング、ストームなど)にも依存します。フェニックスに言及して以来、私はHBaseのSQLビューに固執したいと思っています。しかし、コアでは、行キーのデザインはまだHBaseのパフォーマンスの中心にあります

関連する問題