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