OpenTSDB和Graphite有什么区别?

据我所知,这里是主要的区别:

  1. 与数据库大小预先确定的Graphite不同的是, OpenTSDB不会损坏数据。
  2. OpenTSDB可以存储每秒的指标,而不是石墨有很小的间隔(我不确定这一点,石墨文档显示保留策略,每分钟存储指标,但我不知道这是否是我们的最小时间单位可以玩)

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

奖金问题:我还有其他时间系列系统吗?

    免责声明:我写了OpenTSDB 。

    我想说的是, Graphite的最大优势似乎是卓越的graphicsfunction 。 它提供了更多的图表types和function。 由于Graphite不是分布式系统,因此移动部件更less,因此部署复杂度也可能会降低一些。

    另一方面, OpenTSDB能够存储大量的细粒度数据点。 这是以部署HBase为代价的,这对于说实话并不算什么大事。 如果您希望通过10k个新数据点获得实时数据 ,OpenTSDB将很适合您。

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

    • 每天超过1B个新数据点(平均= 12k / s)。
    • 数百亿的数据点存储。
    • 消耗的磁盘空间less于2TB(在HDFS进行3x复制之前)。
    • 阅读查询通常能够检索,摧毁和绘制每秒超过500k个数据点。

    用户界面

    Graphite有一些很棒的graphics工具。 默认的Web界面很丑陋(虽然function正常),但是您拥有丰富的graphics和仪表板选项。

    几个例子:

    • Grafana仪表板,具有dynamic(可缩放)graphics

    grafana仪表板的例子

    • Vimeo的GraphExplorer仪表板

    图表浏览器仪表板的例子

    • Cubism.js水平图

    cubism.js图表​​示例

    看这里或这里find更多。

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

    build立

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

    表演

    与数据库大小预先确定的Graphite不同的是,OpenTSDB不会损坏数据。

    真正。 另外Graphite使用类似于RRD的文件格式,实际上这意味着单个数据点将占用与全时系列一样多的磁盘空间,因为这个空间是预先分配的。 这也意味着绘制一个空的时间间隔将花费尽可能多的时间,就像有数据那里(另一个存储引擎, Ceres ,在工作,但我还没有尝试过)。

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

    OpenTSDB可以存储每秒的指标,而不是间隔很短的石墨。

    不,都可以login到第二个。