Frage Was ist der Unterschied zwischen OpenTSDB und Graphite?


Soweit ich das beurteilen kann, sind hier die Hauptunterschiede:

  1. OpenTSDB Im Gegensatz zu Graphit wo die Größe der Datenbank vorgegeben ist.
  2. OpenTSDB kann Metriken pro Sekunde speichern, im Gegensatz zu Graphite mit Minutenintervallen (ich bin mir nicht sicher, Graphite-Dokumente zeigen Aufbewahrungsrichtlinien, die Metriken jede Minute speichern, aber ich weiß nicht, ob dies die minimale Zeiteinheit ist kann mit spielen)

Ich möchte eine fundierte Entscheidung darüber treffen, welches Tool zum Speichern von Metriken verwendet wird. Habe ich andere Unterschiede in diesen beiden Systemen verpasst? Wie leistungsfähig / skalierbar sind sie?

Bonus Frage: Gibt es ein anderes Zeitreihen-System, das ich mir ansehen sollte?


28
2018-02-21 18:51


Ursprung




Antworten:


Haftungsausschluss: Ich habe geschrieben OpenTSDB.

Ich würde sagen, dass der größte Vorteil von Graphit scheint zu sein überlegene Grafikfähigkeiten. Es bietet mehr Diagrammtypen und Funktionen. Bereitstellungskomplexität ist wahrscheinlich auch ein bisschen niedriger mit Graphit, da es kein verteiltes System ist und somit weniger bewegliche Teile hat.

OpenTSDBAuf der anderen Seite ist es in der Lage, eine wesentlich größere Menge an feinkörnigen Datenpunkten zu speichern. Dies geschieht auf Kosten der Bereitstellung HBaseDas ist nicht so wichtig, um ehrlich zu sein. Wenn du willst Echtzeitdaten bis auf die Sekunde mit >> 10k neuen Datenpunkten / s, dann wird Ihnen OpenTSDB gut passen.

Einige Informationen über unsere aktuell Skala bei StumbleUpon (diese Zahlen werden in der Regel alle 2-3 Monate verdoppelt):

  • Über 1B neue Datenpunkte pro Tag (= 12k / s im Durchschnitt).
  • Hunderte Milliarden von Datenpunkten gespeichert.
  • Weniger als 2 TB Speicherplatz belegt (vor 3x Replikation durch HDFS).
  • Leseabfragen sind im Allgemeinen in der Lage, über 500.000 Datenpunkte pro Sekunde abzurufen, zu übertragen und zu plotten.

45
2018-02-21 19:50



Das Intervall von Graphite ist konfigurierbar. Ich verwende normalerweise 10-Sekunden-Überwachungszeiträume. Und die Graphen sind wirklich süß. Ansonsten denke ich, dass Tsunas Antwort plausibel ist - Travis Bear


Benutzeroberfläche

Graphit hat einige hervorragende Grafikwerkzeuge zur Verfügung. Die Standard-Weboberfläche ist hässlich (obwohl funktional), aber Sie haben dann eine Fülle von großartigen Grafik- und Dashboard-Optionen.

Ein paar Beispiele:

  • Grafana Dashboard mit dynamischen (zoombaren) Graphen

grafana dashboard example

graph explorer dashboard example

cubism.js chart example

Aussehen Hier oder Hier um noch viel mehr zu finden.

OpenTSDB auf der anderen Seite ist immer noch in der Gnuplot-Phase: OpenTSDB web interface

Konfiguration

In der Praxis ist es viel schwieriger, Graphite zu erstellen als HBase + OpenTSDB. OpenTSDB hat eine umfassende Dokumentation und einige einfache Schritte. Dies sind die Befehle zum Installieren von Graphite, die Dinge werden noch schwieriger, wenn Sie aus der Quelle bauen.

Aufführungen

OpenTSDB verschlechtert die Daten im Laufe der Zeit nicht, im Gegensatz zu Graphite, wo die Größe der Datenbank vorab festgelegt ist.

Wahr. Auch Graphite verwendet ein ähnliches Dateiformat wie RRD. In der Praxis bedeutet dies, dass ein einzelner Datenpunkt so viel Speicherplatz belegt wie die Vollzeit-Serie, da dieser Speicherplatz vorab zugewiesen wird. Dies bedeutet auch, dass das Plotten eines leeren Zeitintervalls so viel Zeit in Anspruch nimmt, als wären dort Daten vorhanden (eine alternative Speicher-Engine, Ceres, ist in der Arbeit aber ich habe es noch nicht ausprobiert).

Wie Tsuna sagte, können Sie mit OpenTSDB wesentlich mehr Datenpunkte speichern, indem Sie die Leistungsfähigkeit von Hadoops HDFS nutzen. Graphit andererseits, dessen Architektur ist detailliert in diesem AOSA-Kapitel, ist eine Adhoc-Lösung.

OpenTSDB kann Metriken pro Sekunde speichern, im Gegensatz zu Grafit mit Minutenintervallen.

Nein, beide können sich auf den zweiten einloggen.


19
2018-02-13 13:14



Es sieht so aus, als wäre opentsdb ideal zum Speichern von Daten, und Graphit eignet sich am besten für die grafische Darstellung. Ist es möglich, graphite auf opentsdb für das Backend zu verweisen? Ich wäre gespannt, ob irgendjemand aus Graphit mit opentsdb verbinden könnte. - user1471980
Beachten Sie, dass Grafana auch OpenTSDB unterstützt, und es gibt andere attraktive Frontends für OpenTSDB wie Metrilyx. - Wilfred Hughes
@WilfredHughes macht einen guten Punkt über Grafana, das OpenTSDB unterstützt. Beachten Sie auch, dass OpenTSDB eine Genauigkeit von bis zu Millisekunden speichern kann. - Nicholas