Prometheus内部存储机制

转载: http://www.cnblogs.com/vovlie/p/7709312.html

Prometheus有着非常高效的时间序列数据存储方法,每个采样数据仅仅占用3.5byte左右空间,上百万条时间序列,30秒间隔,保留60天,大概花了200多G(引用官方PPT)。

接下来让我们看看他的原理。

Prometheus内部主要分为三大块,Retrieval是负责定时去暴露的目标页面上去抓取采样指标数据,Storage是负责将采样数据写磁盘,PromQL是Prometheus提供的查询语言模块。

Prometheus内部存储机制_第1张图片
Prometheus内部存储机制_第2张图片
prometheus抓取的数据格式


对于时间序列的基本特性来说,通常是过去的数据一般是只读的,是不会变更的,当前时间的数据才会可能在写。

Prometheus内部存储机制_第3张图片
根据上面的分析,时间序列的存储似乎可以设计成key-value存储的方式(基于BigTable)。
Prometheus内部存储机制_第4张图片
上面提到了K-V存储,当然是使用了LevelDB的引擎,它的特点是顺序读写性能非常高,这是非常符合时间序列的存储的。

你可能感兴趣的:(Prometheus内部存储机制)