Jaka jest różnica między OpenTSDB a grafitem?

28

O ile mogę stwierdzić, oto główne różnice:

  1. OpenTSDB nie pogarsza danych w czasie, w przeciwieństwie do grafitu, w którym wielkość bazy danych jest z góry określona.
  2. OpenTSDB może przechowywać metryki na sekundę, w przeciwieństwie do grafitu, który ma minimalne odstępy czasu (nie jestem tego pewien, dokumenty grafitowe pokazują zasady przechowywania, które przechowują metryki co minutę, ale nie wiem, czy jest to minimalna jednostka czasu można bawić się)

Chcę podjąć świadomą decyzję o tym, jakiego narzędzia użyć do przechowywania danych, czy nie zauważyłem żadnych innych różnic w tych 2 systemach? Jak wydajni / skalowalni są?

Pytanie bonusowe: Czy jest jakiś inny system szeregów czasowych, na który powinienem spojrzeć?

wedang
źródło

Odpowiedzi:

46

Uwaga: Napisałem OpenTSDB .

Powiedziałbym, że największą zaletą grafitu wydają się być lepsze możliwości graficzne . Oferuje więcej rodzajów wykresów i funkcji. Złożoność wdrożenia jest również prawdopodobnie nieco niższa w przypadku Grafitu, ponieważ nie jest to system rozproszony, a zatem ma mniej części ruchomych.

Z drugiej strony OpenTSDB może przechowywać znacznie większą liczbę drobnoziarnistych punktów danych. Jest to kosztem wdrożenia HBase , co, szczerze mówiąc , nie jest takie duże. Jeśli chcesz przesyłać dane w czasie rzeczywistym z dokładnością do 10 000 nowych punktów danych / s, OpenTSDB będzie ci dobrze pasować.

Kilka informacji o naszej aktualnej skali w StumbleUpon (te liczby zwykle podwajają się co 2-3 miesiące):

  • Ponad 1B nowych punktów danych dziennie (= średnio 12k / s).
  • Zapisano setki miliardów punktów danych.
  • Zużyte mniej niż 2 TB miejsca na dysku (przed trzykrotną replikacją przez HDFS).
  • Kwerendy do odczytu są na ogół w stanie wyszukiwać, kopiować i drukować ponad 500 000 punktów danych na sekundę.
tsuna
źródło
3
Interwał grafitu jest konfigurowalny. Zwykle używam 10-sekundowych okresów monitorowania. A wykresy są naprawdę słodkie. W przeciwnym razie myślę, że odpowiedź tsuny jest uderzająca
Travis Bear,
19

Interfejs użytkownika

Grafit ma kilka doskonałych narzędzi graficznych. Domyślny interfejs WWW jest brzydki (choć funkcjonalny), ale masz wiele wspaniałych opcji graficznych i pulpitu nawigacyjnego.

Kilka przykładów:

  • Pulpit nawigacyjny Grafana z dynamicznymi (powiększalnymi) wykresami

przykład deski rozdzielczej grafana

przykład panelu eksploratora wykresów

przykład wykresu cubism.js

Zajrzyj tutaj lub tutaj, aby znaleźć wiele innych.

Z drugiej strony OpenTSDB jest wciąż na etapie gnuplot: Interfejs sieciowy OpenTSDB

Ustawiać

W praktyce grafit jest znacznie trudniejszy w konfiguracji niż HBase + OpenTSDB. OpenTSDB ma obszerną dokumentację i kilka prostych kroków. Są to polecenia instalujące grafit , sprawy stają się jeszcze trudniejsze, jeśli budujesz ze źródła.

Występy

OpenTSDB nie pogarsza danych w czasie, w przeciwieństwie do grafitu, w którym wielkość bazy danych jest z góry określona.

Prawdziwe. Również grafit używa formatu pliku podobnego do RRD, w praktyce oznacza to, że pojedynczy punkt danych zajmie tyle miejsca na dysku, co seria ciągła, ponieważ miejsce to jest wstępnie przydzielone. Oznacza to również, że wykreślanie pustego przedziału czasu zajmie tyle czasu, ile byłoby tam danych (działa alternatywny silnik pamięci Ceres , ale jeszcze go nie próbowałem).

Jak powiedział tsuna, OpenTSDB pozwoli ci przechowywać znacznie więcej punktów danych, wykorzystując moc HDFS Hadoop. Z drugiej strony grafit, którego architektura została szczegółowo opisana w tym rozdziale AOSA, jest rozwiązaniem bardziej doraźnym.

OpenTSDB może przechowywać metryki na sekundę, w przeciwieństwie do grafitu, który ma niewielkie odstępy.

Nie, oba mogą zalogować się do drugiego.

MasterScrat
źródło
1
wygląda na to, że opentsdb świetnie nadaje się do przechowywania danych, a grafit jest najlepszy do tworzenia wykresów. Czy możliwe jest skierowanie grafitu na opentsdb dla backendu. Byłbym ciekawy, czy ktokolwiek byłby w stanie połączyć się z opentsdb z grafitu.
user1471980,
4
Należy pamiętać, że Grafana obsługuje również OpenTSDB i istnieją inne atrakcyjne nakładki dla OpenTSDB, takie jak metrilyx .
Wilfred Hughes,
@WilfredHughes podkreśla, że ​​Grafana obsługuje OpenTSDB. Należy również pamiętać, że OpenTSDB może przechowywać z dokładnością do milisekund.
Nicholas