Apa perbedaan antara OpenTSDB dan Graphite?

28

Sejauh yang saya tahu, inilah perbedaan utama:

  1. OpenTSDB tidak memburuk data dari waktu ke waktu, tidak seperti Graphite di mana ukuran basis data ditentukan sebelumnya.
  2. OpenTSDB dapat menyimpan metrik per detik, berbeda dengan Graphite yang memiliki interval menit (Saya tidak yakin akan hal ini, dokumen Graphite menunjukkan kebijakan penyimpanan yang menyimpan metrik setiap menit, tetapi saya tidak tahu apakah ini adalah unit waktu minimum yang kami miliki bisa bermain dengan)

Saya ingin membuat keputusan berdasarkan informasi tentang alat apa yang akan digunakan untuk menyimpan metrik, apakah saya melewatkan perbedaan lain dalam 2 sistem ini? Seberapa performant / scalable mereka?

Pertanyaan Bonus: Apakah ada sistem deret waktu lain yang harus saya perhatikan?

vedang
sumber

Jawaban:

46

Penafian: Saya menulis OpenTSDB .

Saya akan mengatakan bahwa keuntungan terbesar dari Graphite tampaknya adalah kemampuan grafik yang unggul . Ini menawarkan lebih banyak jenis dan fitur grafik. Kompleksitas penggunaan juga mungkin sedikit lebih rendah dengan Graphite, karena ini bukan sistem terdistribusi dan karenanya memiliki lebih sedikit bagian yang bergerak.

OpenTSDB , di sisi lain, mampu menyimpan jumlah poin data yang lebih besar secara signifikan. Ini harus dibayar dengan menggunakan HBase , yang bukan masalah besar untuk jujur. Jika Anda ingin mendapatkan data waktu-nyata ke detik dengan >> 10k titik data baru, maka OpenTSDB akan cocok untuk Anda.

Beberapa info tentang skala kami saat ini di StumbleUpon (angka-angka ini umumnya berlipat ganda setiap 2-3 bulan):

  • Lebih dari 1B titik data baru per hari (rata-rata = 12 k / dtk).
  • Ratusan miliar titik data disimpan.
  • Kurang dari 2TB ruang disk yang dikonsumsi (sebelum replikasi 3x oleh HDFS).
  • Kueri baca umumnya mampu mengambil, memudarkan, dan memplot lebih dari 500k titik data per detik.
tsuna
sumber
3
Interval grafit dapat dikonfigurasi. Saya biasanya menggunakan periode pemantauan 10 detik. Dan grafiknya sangat manis. Kalau tidak, saya pikir jawaban tsuna adalah bang-on
Travis Bear
19

Antarmuka pengguna

Graphite memiliki beberapa alat grafik luar biasa yang tersedia. Antarmuka web default jelek (meskipun fungsional), tetapi Anda kemudian memiliki banyak pilihan grafik dan dasbor yang bagus.

Beberapa contoh:

  • Dasbor Grafana , dengan grafik dinamis (dapat diperbesar)

contoh dasbor grafana

contoh grafik dashboard explorer

contoh grafik cubism.js

Lihat di sini atau di sini untuk menemukan lebih banyak.

OpenTSDB di sisi lain masih pada tahap gnuplot: Antarmuka web OpenTSDB

Mendirikan

Dalam praktiknya, Graphite sebenarnya jauh lebih sulit untuk dipasang daripada HBase + OpenTSDB. OpenTSDB memiliki dokumentasi yang komprehensif dan beberapa langkah langsung. Ini adalah perintah untuk menginstal Graphite , hal-hal menjadi lebih rumit jika Anda membangun dari sumber.

Pertunjukan

OpenTSDB tidak memburuk data dari waktu ke waktu, tidak seperti Graphite di mana ukuran database ditentukan sebelumnya.

Benar. Graphite juga menggunakan format file yang mirip dengan RRD, dalam praktiknya ini berarti satu titik data akan mengambil ruang disk sebanyak waktu penuh karena ruang ini dialokasikan sebelumnya. Ini juga berarti merencanakan interval waktu kosong akan menghabiskan banyak waktu seolah-olah ada data di sana (mesin penyimpan alternatif, Ceres , sedang bekerja tetapi saya belum mencobanya).

Seperti yang dikatakan tsuna, OpenTSDB akan membiarkan Anda menyimpan lebih banyak poin data secara signifikan, meningkatkan kekuatan HDFS Hadoop. Sebaliknya, grafit, yang arsitekturnya dirinci dalam bab AOSA ini , adalah solusi yang lebih adhoc.

OpenTSDB dapat menyimpan metrik per detik, dibandingkan dengan grafit yang memiliki interval menit.

Tidak, keduanya bisa login ke yang kedua.

MasterScrat
sumber
1
sepertinya opentsdb sangat bagus untuk menyimpan data dan grafit yang terbaik untuk grafik. Apakah mungkin untuk mengarahkan graphite ke opentsdb untuk backend. Saya ingin tahu apakah ada yang bisa terhubung ke opentsdb dari grafit.
user1471980
4
Perhatikan bahwa Grafana juga mendukung OpenTSDB, dan ada antarmuka menarik lainnya untuk OpenTSDB seperti metrilyx .
Wilfred Hughes
@WilfredHughes membuat poin bagus tentang Grafana yang mendukung OpenTSDB. Juga catat bahwa OpenTSDB dapat menyimpan hingga presisi milidetik.
Nicholas