从零写一个时间序列数据库
远景大好。剩下最重要的部门是查询耽误。新的索引该当优化了查找的伟大度。没有实质上产生改变的是处理赏罚数据的进程,譬喻 第 99 个百分位查询耽误(秒) 数据完全切合预期。在 Prometheus 1.5 上,查询耽误跟着存储的序列而增进。只有在保存操纵开始且旧的序列被删除后才会趋于不变。作为比拟,Prometheus 2.0 从一开始就保持在吻合的位置。 我们必要花一些心思在数据是怎样被收罗上,对处事器发出的查询哀求通过对以下方面的预计来选择:范畴查询和即时查询的组合,举办更轻或更重的计较,会见更多或更少的文件。它并不必要代表真实天下里查询的漫衍。也不能代表冷数据的查询机能,我们可以假设全部的样本数据都是生涯在内存中的热数据。 尽量云云,我们可以相等自信地说,整体查询结果对序列分流变得很是有弹性,而且在高压基准测试场景下晋升了 4 倍的机能。在更为静态的情形下,我们可以假设查询时刻大大都耗费在了查询引擎上,改进水平旦明较低。 摄入的样本/秒 最后,快速地看一下差异 Prometheus 处事器的摄入率。我们可以看到搭载 V3 存储体系的两个处事用具有沟通的摄入速度。在几个小时之后变得不不变,这是由于差异的基准测试集群节点因为高负载变得无相应,与 Prometheus 实例无关。(两个 2.0 的曲线完全匹配这一究竟但愿足够具有说服力) 尽量尚有更多 CPU 和内存资源,两个 Prometheus 1.5.2 处事器的摄入率大大低落。序列分流的高压导致了无法收罗更多的数据。 那么此刻每秒可以摄入的绝对最大样本数是几多? 可是此刻你可以摄取的每秒绝对最大样本数是几多? 我不知道 —— 固然这是一个相等轻易的优化指标,但除了稳定的基线机能之外,它并不是出格故意义。 有许多身分城市影响 Prometheus 数据流量,并且没有一个单独的数字可以或许描写捕捉质量。最大摄入率在汗青上是一个导致基准呈现毛病的怀抱,而且忽视了更多重要的层面,譬喻查询机能和对序列分流的弹性。关于资源行使线性增添的大抵意料通过一些根基的测试被证实。很轻易揣度出个中的缘故起因。 我们的基准测试模仿了高动态情形下 Prometheus 的压力,它比起真实天下中的更大。功效表白,固然运行在没有优化的云处事器上,可是已经超出了预期的结果。最终,乐成将取决于用户反馈而不是基准数字。
总结Prometheus 开始应对高基数序列与单独样本的吞吐量。这如故是一项富有挑衅性的使命,可是新的存储体系好像向我们展示了将来的一些好对象。 第一个配备 V3 存储体系的 alpha 版本 Prometheus 2.0 已经可以用来测试了。在早期阶段估量还会呈现瓦解,死锁和其他 bug。 存储体系的代码可以在这个单独的项目中找到。Prometheus 对付探求高效当地存储时刻序列数据库的应用来说也许很是有效,这一点令人很是惊奇。
别忘了我们整个 CoreOS 团队与公司对付这项事变的赞助与支持。感激全部那些听我一遍遍絮聒 SSD、浮点数、序列化名目标同窗。 【编辑保举】
点赞 0 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |