通常一个较大的查询会包含上百万组 Labels 字符串和数亿数据点,如果直接传输,即使在内网环境也会有较大开销。为此 MetricStore 2.0 在存储和计算侧的传输协议上做了以下优化:
- 计算与 IO 分解:在 Worker 处对查询的计算和 IO 过程进行分解,将 IO 和纯计算操作分别放到协程和物理线程中完成。
- 流式传输协议:数据分块流式传输到计算侧,计算侧整个加载、计算的过程也都是流式的,避免等待全部数据到位再计算。
- 直接传输高压缩 Block:直接将高压缩率的原始 Block 响应给计算节点,这样存储层缓存效率大大提升,还可减少一次序列化与反序列化开销。
- 按需返回字段:传输前基于查询分析,只生成并返回需要的 Labels 字段,避免传输无关数据。
这些优化与流式并行计算引擎相配合,从传输层面进一步降低了大规模查询的延迟和资源开销。




