50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

Datadog 发布统一的基于 Rust 的实时度量指标引擎 Monocle

作者:Leela Kumili

  • 2025-09-28
    北京
  • 本文字数:1217 字

    阅读完需:约 4 分钟

大小:622.10K时长:03:32
Datadog发布统一的基于Rust的实时度量指标引擎Monocle

Datadog 推出了Monocle,这是一个用Rust编写的、新型的实时时间序列存储引擎。该系统统一了公司的度量指标存储基础设施,提供了更高的数据摄入吞吐量和更低的查询延迟,同时降低了运维复杂性。Monocle 取代了他们的历代存储后端,解决了随时间积累的并发挑战和扩展性限制。

 

Datadog 存储基础设施的早期设计将责任分散在多个系统之间。度量指标数据被写入实时数据库(Real-Time Database,RTDB),它存储了<timeseries_id, timestamp, value>元组,而索引数据库则维护标识符和标签。存储路由器将指标定向到 RTDB 节点,查询在 RTDB 和索引节点之间展开。每个节点都包含用于摄入、存储、快照、查询和限流的子系统,所有这些都通过共享的控制平面进行协调。


实时度量指标存储架构的高层概述(来源:Datadog工程博客

 

RTDB 的这种架构经历了几次迭代。第一代依赖于Cassandra实现高写入吞吐,但是查询灵活性有限。随后是基于Redis的设计,这提高了响应性,但遇到了持久性和单线程执行的问题。MDBM是一个内存映射的键-值存储,提供了更好的操作系统缓存使用,但遇到了可扩展性的瓶颈。随后,基于 Go 的 B+树引擎采用了每个核心一个线程(thread-per-core)的模型,增加了并发性,但也增加了复杂性。后来,RocksDB 提供了持久性,并通过DDSketch支持分布式指标,不过在扩展方面仍然存在挑战。

 

Monocle 将这些先前的方法整合到了一个统一的基于Rust的引擎中。它采用了每个核心一个分片,每个分片一个工作者(shard-per-core,worker-per-shard)的模型,每个存储工作者管理自己的日志结构化合并树(LSM 树)实例,以摄入数据、提供查询服务和执行后台任务,如压缩。设计采用了早期的分片存储:通过其时间序列键标识每个数据单元,它们被分配到一个分片上,确保 CPU 核心之间的负载分布均匀。正如 Datadog 工程师所指出的,“这种每个核心一个分片,异步工作器模型是 RTDB 的基础。”设计消除了写入路径上的锁和原子操作,减少了争用,而 Rust 的内存保证了安全性和并发性。


Monocle 的内部组件来源:Datadog工程博客)

 

该引擎将数据摄取、存储与查询处理整合于单一系统中。写入操作通过内存表缓冲,并采用受 LSM 树启发的压缩机制实现持久化。基数树缓冲区加速聚合操作,统一缓存则降低查询延迟。数据按时间分段存储,每段采用最近最少使用(LRU)策略,在保留最相关查询的同时驱逐过期查询,确保系统在高负载下仍保持数据新鲜度与响应能力。

 

Datadog 报告的性能基准测试显示了显著的收益。Monocle 实现了数据摄入吞吐量的 60 倍增加,高峰时查询延迟的 5 倍减少,与早期系统相比成本效率提高了一倍。这些改进归因于每个核心一个分片的并发模型、Rust 的效率以及在写入和查询路径上的优化。

 

Datadog 的工程师指出,Rust 重写和模块化设计的另一项关键优势在于:为 Monocle 开发的组件现正被复用到 Datadog 的其他系统中,这既提升了可维护性,又增强了平台范围的一致性。

 

原文链接:

Datadog Launches Monocle, a Unified Rust-Powered Real-Time Metrics Engine

2025-09-28 10:304697

评论

发布
暂无评论

记一次因 GC bug 导致 TiKV 存储占用不均的问题处理

TiDB 社区干货传送门

管理与运维 故障排查/诊断

TiDB 的“聚簇因子” -- 从 cop task 到 shard_row_id_bits

TiDB 社区干货传送门

性能测评 OLTP 场景实践

数据存储难?华为云对象存储服务OBS带你全方位解决

IT科技苏辞

支撑20亿+用户变美,看华为云OBS对象存储服务与美图的合作

IT科技苏辞

艺多不压身!华为云CDN成众多企业网络支撑

路过的憨憨

数益工联 x TiDB丨如何运用 HTAP 挖掘工业数据价值?

TiDB 社区干货传送门

Oracle 到 TiDB (OGG)

TiDB 社区干货传送门

“互联网+”的时代,华为云如何助力企业处理海量数据?

科技怪授

OBS

阿里IM技术分享(九):深度揭密RocketMQ在钉钉IM系统中的应用实践

JackJiang

RocketMQ 即时通讯 im开发 开源im 钉钉IM

年终有奖 | 三分钟,一起创造更好的 StarRocks!

StarRocks

金航数码选择应用 TDengine 时序数据库,改造现有数据库架构

TDengine

数据库 tdengine 时序数据库

海纳百川,华为云对象存储服务OBS给你无限可能

科技怪授

OBS

墨芯人工智能加入龙蜥,携手打造软硬协同稀疏化计算平台

OpenAnolis小助手

人工智能 开源 龙蜥社区 CLA 墨芯

云上提速哪家强?华为云CDN加速成首选!

科技说

不愧是阿里内部供应的Kafka笔记,深入浅出,全是干货

小小怪下士

Java kafka 程序员

助力企业服务体验升级,华为云CDN这样做

路过的憨憨

中科院自动化所历时9年打造的类脑认知智能引擎“智脉”正式开源部署至OpenI启智社区

OpenI启智社区

类脑计算 OpenI启智社区 智脉 开源开放 中科院自动化所

自建还是第三方?华为云对象存储服务OBS 成为企业更优选

IT科技苏辞

华为云CDN下载加速,“火速”留住用户

科技说

拒绝等待,华为云CDN下载加速就是要快人一步

科技说

怎样将数据从Oracle迁移到TiDB

TiDB 社区干货传送门

为什么我们要从MySQL迁移到TiDB?

TiDB 社区干货传送门

稳定可靠、安全可信的云存储-华为云OBS对象存储

IT科技苏辞

TiDB 同步数据到 Kafka 最佳实践

TiDB 社区干货传送门

2022 年 TiDB 社区年度总结,2023年,我们一起兔飞猛进

TiDB 社区干货传送门

华为云OBS对象存储,一站式解决企业数据存储难题

科技怪授

企业号1月PK榜,火热开启!

InfoQ写作社区官方

热门活动

YMatrix 番外篇|透过镜头,那些不为人知的故事

YMatrix 超融合数据库

车联网 超融合数据库 C++ YMatrix 研发故事

面向对象分析与设计的底层逻辑

阿里技术

面向对象设计

专属企业的加速“小帮手”——华为云CDN

科技说

Datadog发布统一的基于Rust的实时度量指标引擎Monocle_后端_InfoQ精选文章