M3 是 Uber 开源的一个基于分布式时序数据库 M3DB 构建的度量平台,可每秒聚合 5 亿个指标,并且以每秒 2000 万笔的速度持续存储这些结果。
M3 目前拥有超过 66 亿条时序数据,每秒聚合5亿个指标,并在全球范围内每秒持续存储 2000 万个指标(使用 M3DB),批量写入将每个指标持久保存到不同区域的三个副本中。它还允许工程师编写度量策略,以不同的时间长度和不同粒度对资料进行保存。这使得工程师和数据科学家能以不同的留存规则,精细和智能地存储有不同保留需求的时序数据。
基于 Uber 日益增长的度量存储工作负载的经验,M3 具备以下特性:
优化指标管道的每个部分,为工程师提供尽可能多的存储空间,以实现最少的硬件支出成本。
通过自定义压缩算法 [M3TSZ](https://github.com/m3db/m3/tree/master/src/dbnode/encoding/m3tsz) 确保数据尽可能高度压缩以减少硬件占用空间。
由于多数数据资料为“一次写入,永不读取”,尽量保持精简的内存占用空间以避免内存成为瓶颈。
尽可能避免压缩整理,通过缩小采样,以增加主机资源的利用率,从而实现更多并发写入,并提供稳定的写入/读取延迟。
时序数据采用本地存储,无需时刻警惕高写入量操作。
- 授权协议:
- Apache 2.0
- 开发语言:
- Google Go 查看源码»
- 操作系统:
- 跨平台