据我所知,这里是主要的区别:
我想做出明智的决定,使用哪个工具来存储指标,我是否错过了这两个系统中的其他差异? 他们如何performance/可扩展?
奖金问题:我还有其他时间系列系统吗?
免责声明:我写了OpenTSDB 。
我想说的是, Graphite的最大优势似乎是卓越的graphicsfunction 。 它提供了更多的图表types和function。 由于Graphite不是分布式系统,因此移动部件更less,因此部署复杂度也可能会降低一些。
另一方面, OpenTSDB能够存储大量的细粒度数据点。 这是以部署HBase为代价的,这对于说实话并不算什么大事。 如果您希望通过10k个新数据点获得实时数据 ,OpenTSDB将很适合您。
关于我们目前在StumbleUpon的规模的一些信息(这些数字通常每2-3个月翻一番):
用户界面
Graphite有一些很棒的graphics工具。 默认的Web界面很丑陋(虽然function正常),但是您拥有丰富的graphics和仪表板选项。
几个例子:
看这里或这里find更多。
另一方面, OpenTSDB仍处于gnuplot阶段:
build立
在实践中,与HBase + OpenTSDB相比,Graphite实际上更加痛苦。 OpenTSDB有一个全面的文档和几个简单的步骤。 这些是安装Graphite的命令 ,如果从源代码构build,事情会变得更加棘手。
表演
与数据库大小预先确定的Graphite不同的是,OpenTSDB不会损坏数据。
真正。 另外Graphite使用类似于RRD的文件格式,实际上这意味着单个数据点将占用与全时系列一样多的磁盘空间,因为这个空间是预先分配的。 这也意味着绘制一个空的时间间隔将花费尽可能多的时间,就像有数据那里(另一个存储引擎, Ceres ,在工作,但我还没有尝试过)。
正如tsuna所说,OpenTSDB将让您存储更多的数据点,充分利用Hadoop HDFS的强大function。 另一方面,石墨在本AOSA章节中详细介绍了其结构,这是一个更为特殊的解决scheme。
OpenTSDB可以存储每秒的指标,而不是间隔很短的石墨。
不,都可以login到第二个。