这篇文章介绍了 Datadog 时序数据库在进行大规模时序索引时遇到的挑战和解决方案。文章首先概述了 Datadog 度量平台的架构,包括数据摄取、存储和查询组件。然后,文章详细介绍了 Datadog 原来的索引服务及其优缺点。文章指出,原来的索引服务依赖于自动生成的索引,这些索引基于实时系统的查询日志。虽然这种方法对于程序化查询源有效,但它不能很好地处理用户发起的不可预测的查询。为了解决这些问题,Datadog 开发了下一代索引服务。文章详细介绍了新服务的架构和设计,新服务使用倒排索引来索引时间序列数据,这与搜索引擎中使用的核心数据结构类似。文章还讨论了新服务带来的挑战,例如写入和空间放大,以及如何通过节点内分片和使用 Rust 编程语言来克服这些挑战。文章总结了 Datadog 在时序索引方面取得的成果,包括能够在相同硬件上查询基数高 20 倍的指标,显著降低尾部查询延迟,以及将时序索引的运行成本降低了近 50%。