16

OpenTSDB のデータ ストレージ エンジンとして HBase を選択したことに誰かが光を当てることができれば幸いです。

ウィスパー (グラファイト フロントエンド + カーボン パーシステンス) など、他にどの選択肢が検討されましたか?

HBase などの列指向のデータベースは、時系列データにどのように適していますか?

4

1 に答える 1

58

私が HBase を選んだのは、拡張性があるからです。Whisper は RRD によく似ており、固定サイズのデータ​​ベースであり、スペースの制約内で機能するにはデータを破棄する必要があります。HBase は、大規模な時系列データベースに非常に適した次のプロパティを提供します。

  1. 線形スケーリング。 データを保存したいですか?さらにノードを追加します。私が OpenTSDB を書いた StumbleUpon では、主に分析とバッチ処理に使用される 20 ノードのクラスターに時系列データが共存していました。クラスターはかなり急速に 120 ノードに成長し、その間、クラスターのワークロードのほんの一部を構成する OpenTSDB は、5データ ポイントにまで成長しました。
  2. 自動複製。 データは HDFS に保存されます。これは、既定では 3 つの異なるマシンに 3 つのレプリカがあることを意味します。マシンやドライブが故障しても、大したことではありません。コモディティ サーバーを構築すると、ドライブとマシンは常に機能しなくなります。しかし問題は、あなたは本当に気にしないということです。
  3. 効率的なスキャン。 ほとんどの時系列データは、「時間 X と Y の間のデータ ポイントは何か」などの質問に答えるために使用されます。キーを適切に構成すれば、単純なスキャン操作で HBase を使用してこれを非常に効率的に実装できます。
  4. 高い書き込みスループット。HBase が従うBigtable の設計では、たとえば B ツリーの代わりにLSM ツリーを使用して、書き込みを安価にしています (潜在的に高価な読み取りを犠牲にして)。

HBase が列指向であるという事実は、それが実際にスケーリングする大きなソートされたキーと値のシステムであるという事実ほど重要な考慮事項ではありませんでした。

すべての RRD ベースおよび RRD 派生ツールは、非常に安価 (データ ポイントあたりの実際のディスク容量はわずか数バイト) で、何十億ものデータ ポイントを永久に正確に保存できるというスケール要件を満たすことができませんでした。

于 2012-09-01T07:02:18.373 に答える