web-dev-qa-db-ja.com

OpenTSDBとGraphiteの違いは何ですか?

私が知る限り、主な違いは次のとおりです。

  1. OpenTSDB データベースのサイズが事前に決定されている Graphite とは異なり、データは時間の経過とともに劣化しません。
  2. OpenTSDBは、分間隔のGraphiteとは対照的に、1秒あたりのメトリックを格納できます(これについては不明ですが、Graphiteのドキュメントでは、1分ごとにメトリックを格納する保持ポリシーを示していますが、これが最小時間単位かどうかはわかりませんと遊ぶことができます)

メトリックを格納するためにどのツールを使用するかについて、情報に基づいた決定をしたいのですが、これら2つのシステムの他の違いを見逃していませんか?それらはどの程度のパフォーマンス/拡張性がありますか?

ボーナス質問:私が見るべき他の時系列システムはありますか?

28
vedang

免責事項:私は OpenTSDB と書きました。

Graphiteの最大の利点は優れたグラフ作成機能のようだと思います。それはより多くのグラフの種類と機能を提供します。 導入の複雑さ分散システムではないため、可動部品が少ないため、グラファイトの方がおそらく少し低くなります。

OpenTSDB一方で、非常に大量の細粒度のデータポイントを格納できます。これは、デプロイのコストを伴いますHBaseですが、これは正直言ってそれほど大きな問題ではありません。 秒単位までのリアルタイムデータを取得したい場合は、>> 10kの新しいデータポイント/秒でOpenTSDBが適しています。

StumbleUponでのcurrentスケールに関するいくつかの情報(これらの数値は通常2〜3か月ごとに2倍になります):

  • 1日あたり10億を超える新しいデータポイント(平均で12k/s)。
  • 何十億ものデータポイントが保存されます。
  • 消費されるディスク容量が2TB未満(HDFSによる3xレプリケーションの前)。
  • 読み取りクエリは、通常、1秒あたり500k以上のデータポイントを取得、変更、およびプロットできます。
47
tsuna

ユーザーインターフェイス

Graphiteには、いくつかの優れたグラフ作成ツールがあります。デフォルトのWebインターフェースは(機能的ではありますが)醜いですが、グラフ作成やダッシュボードのオプションが豊富に用意されています。

いくつかの例:

  • Grafana ダッシュボード、動的(ズーム可能)グラフ

grafana dashboard example

graph Explorer dashboard example

cubism.js chart example

ここ または ここ を見て、さらに多くを見つけてください。

もう一方のOpenTSDBはまだgnuplotの段階です: OpenTSDB web interface

セットアップ

実際には、グラファイトは、HBase + OpenTSDBよりも、セットアップがかなり面倒です。 OpenTSDBには、包括的なドキュメントといくつかの簡単な手順があります。 これらはGraphiteをインストールするためのコマンドです 、ソースからビルドする場合、状況はさらに複雑になります。

パフォーマンス

OpenTSDBは、データベースのサイズが事前に決定されているGraphiteとは異なり、時間の経過とともにデータを劣化させません。

そうだね。また、GraphiteはRRDと同様のファイル形式を使用します。これは、実際には、このスペースが事前に割り当てられているため、単一のデータポイントがフルタイムシリーズと同じだけのディスクスペースを使用することを意味します。これはまた、空の時間間隔をプロットすると、そこにデータがあるかのように時間がかかることを意味します(代替のストレージエンジン Ceres が作業中ですが、まだ試していません)。

Tsuna氏が述べたように、OpenTSDBを使用すると、HadoopのHDFSの機能を活用して、大幅に多くのデータポイントを保存できます。一方、アーキテクチャが このAOSAの章で詳しく説明されています であるグラファイトは、よりアドホックなソリューションです。

OpenTSDBは、分間隔のグラファイトとは対照的に、1秒あたりのメトリックを格納できます。

いいえ、どちらも2番目までログアウトできます。

19
MasterScrat