OpenTSDB和Graphite有什么区别?


28

据我所知,主要区别如下:

  1. OpenTSDB不会随着时间的推移而恶化数据,这与Graphite不同,在Graphite中,数据库的大小是预先确定的。
  2. OpenTSDB可以每秒存储指标,而Graphite的间隔是分钟(我不确定,Graphite文档显示的保留策略每分钟存储一次指标,但是我不知道这是否是我们最小的时间单位可以玩)

我想就使用哪种工具存储指标做出明智的决定,我是否错过了这两个系统中的其他差异?它们的性能/可扩展性如何?

奖励问题:我还应该查看其他时间序列系统吗?

Answers:


46

免责声明:我写了OpenTSDB

我想说Graphite的最大优点似乎是优越的绘图功能。它提供了更多的图形类型和功能。 Graphite的部署复杂性也可能较低,因为它不是分布式系统,因此移动部件更少。

另一方面,OpenTSDB能够存储大量的细粒度数据点。这是以部署HBase为代价的,说实话,这没什么大不了的。如果要以>> 10k新数据点/秒的速度将实时数据降至秒,那么OpenTSDB将非常适合您。

有关我们StumbleUpon 当前规模的一些信息(这些数字通常每2-3个月翻一番):

  • 每天超过1B个新数据点(平均= 12k / s)。
  • 存储了数千亿个数据点。
  • 消耗的磁盘空间少于2TB(在HDFS复制3倍之前)。
  • 读取查询通常每秒能够检索,整理和绘制超过50万个数据点。

3
石墨的间隔是可配置的。我通常使用10秒的监视时间。这些图真的很贴心。否则,我认为tsuna的答案将是有力的
Travis Bear

19

用户界面

石墨具有一些出色的制图工具。默认的Web界面很难看(虽然可以使用),但是您将拥有大量出色的图形和仪表板选项。

一些例子:

  • Grafana仪表板,带有动态(可缩放)图形

grafana仪表板示例

图资源管理器仪表板示例

cubism.js图表​​示例

看看这里在这里找到更多。

另一方面,OpenTSDB仍处于gnuplot阶段: OpenTSDB Web界面

设定

实际上,与HBase + OpenTSDB相比,设置Graphite实际上要痛苦得多。OpenTSDB具有全面的文档和一些简单的步骤。这些是安装Graphite的命令,如果从源代码构建,事情会变得更加棘手。

表演节目

OpenTSDB不会随着时间的推移而恶化数据,这与Graphite不同,在Graphite中,数据库的大小是预先确定的。

真正。此外,Graphite使用类似于RRD的文件格式,实际上这意味着单个数据点将占用与整个时间序列一样多的磁盘空间,因为该空间是预先分配的。这也意味着绘制一个空的时间间隔将花费与那里有数据一样多的时间(替代的存储引擎Ceres正在开发中,但我还没有尝试过)。

正如tsuna所说,OpenTSDB将利用Hadoop HDFS的强大功能,让您存储更多的数据点。另一方面,在本AOSA章节中详细介绍了石墨的体系结构,这是一种更为特殊的解决方案。

OpenTSDB每秒可以存储指标,而石墨的间隔是微小的。

不,两者都可以登录到第二个。


1
看起来opentsdb非常适合存储数据,而石墨最适合绘制图形。是否可以将石墨指向opentsdb作为后端。我很想知道是否有人能够通过石墨连接到opentsdb。
user1471980 2014年

4
请注意,Grafana也支持OpenTSDB,OpenTSDB还有其他吸引人的前端,例如metrilyx
Wilfred Hughes 2014年

@WilfredHughes很好地说明了Grafana支持OpenTSDB。还要注意,OpenTSDB可以存储低至毫秒级的精度。
尼古拉斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.