暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Prometheus TSDB 数据存储机制?

  




Prometheus的TSDB(Time Series Database)存储机制是其核心组成部分之一,用于高效地存储和管理时间序列数据。

Prometheus TSDB采用基于时间的块存储方式,即将每个时间序列按照时间戳划分成一系列固定大小的块,并对每个块进行压缩存储。每个块包含一定时间范围内的数据,通常为两小时。

具体来说,Prometheus 按2小时一个block进行存储,每个block由一个目录组成,该目录里包含一个或者多个chunk文件(保存时间序列数据),默认每个chunk大小为 512KB。

1、最新的数据是保存在内存中的,并同时写入至预写日志(WAL);Prometheus使用预写日志(WAL)来持久化数据,WAL文件是其重要组成部分,用于临时持久化数据以防止在断电后数据丢失;

2、以每2小时为一个时间窗口,将数据存储为一个单独的 Block,每个数据库包含index, meta.json , chunks及tombstone文件及文件夹;

3、Block会被压缩及合并历史Block块,压缩合并后Block数量会减少,Block的大小并不固定,但最小会保存两个小时的数据;

4、后续生成的新数据保存在内存和WAL中,重复以上过程。



往期推荐

复制
 


复制



后台回复“加群”,带你进入高质量技术交流群

本公众号主要分享云原生、大数据Hadoop、Linux、DevOps等技术,欢迎点击👇下方卡片关注“我“!!!


文章转载自大数据与云原生技术分享,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论