MetricStore 1.0 于 2020 年上线,对内承接集团、ASI 等众多业务场景,对外为公有云大客户提供服务,日写入数据量 10PB+、日查询量 20 亿+、分析 55 万亿数据点,并以每年 100% 速度增长,已成为不可或缺的基础设施。但随着业务发展,它在存储和计算上遇到了瓶颈:
存储层(采用通用列存模型,每个数据点作为一行保存而非时间线模式):
- 近期数据压缩率较低,有限内存中缓存频繁失效,影响查询延迟和并发。
- Labels 编码特性导致压缩率不高,查询、传输性能受限。
- 没有充分利用时间线编码特性,每次查询需对数据点排序带来较大延迟。
计算层(使用 Go 语言开发的开源 Prometheus 作为计算引擎):
- 计算效率:存在对象重复申请、传递和不必要的内存复制,执行函数、聚合算子等流程均为串行执行。
- 内存效率与控制:受语言限制只能通过限制单次查询数据量和执行时间近似控制内存,没有租户资源控制;反序列化用 C、计算用 Go 的跨语言交互增加了内存控制难度。




