(四)Prometheus数据存储
一、存储接口
Prometheus提供了两种存储方式,分别为本地存储和与远端存储。为了兼容本地存储和远程存储,Prometheus提供了fanout接口。
二、本地存储
2.1 核心概念
Prometheus的本地存储为Promethazine TSDB。TSDB的设计有两个核心:block和WAL,而block有包含chunk、index、meta.json、tombstones。
- chunks:用于保存压缩后的时序数据。每个chunk的大小为512MB。
- index:是为了对监控数据进行快速检索和查询而设计的,主要用来记录chunk中时序的偏移位置。
- tombstone:用于数据进行软删除。
- meta.json:记录block的元数据信息,主要记录一个数据块记录样本的 起始时间(mintime)、截止时间(maxtime)、样本数、时序数和数据源等信息。
WAL(Writer-ahead logging,预写日志)是关系型数据库中利用日志来实现食物性和持久性的一种技术,既在进行某个操作之前先将这个事情记录下来,以便之后对数据进行回滚、重试等操作并保证数据可靠性。
三、远端存储
面对更多历史数据的持久化,Prometheus单纯依靠本地存储远不足以应对,围殴此引入远端存储。为了适应不同远端存储,Prometheus并没有选择对接各种存储,二十定义一套读写存储接口,并引入Adapter适配器。
目前已经实现Adapter的远程存储主要包括:InfluxDB、OpenTSDB 、CreateDB、TiKV、Cortex、M3DB。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?