当前位置: 首页 > 软件库 > 数据库相关 > >

Uber M3

大规模指标储存平台
授权协议 Apache 2.0
开发语言 Google Go
所属分类 数据库相关
软件类型 开源软件
地区 不详
投 递 者 督建柏
操作系统 跨平台
开源组织 Uber
适用人群 未知
 软件概览

M3  是 Uber 开源的一个基于分布式时序数据库 M3DB 构建的度量平台,可每秒聚合 5 亿个指标,并且以每秒 2000 万笔的速度持续存储这些结果。

M3 目前拥有超过 66 亿条时序数据,每秒聚合5亿个指标,并在全球范围内每秒持续存储 2000 万个指标(使用 M3DB),批量写入将每个指标持久保存到不同区域的三个副本中。它还允许工程师编写度量策略,以不同的时间长度和不同粒度对资料进行保存。这使得工程师和数据科学家能以不同的留存规则,精细和智能地存储有不同保留需求的时序数据。

基于 Uber 日益增长的度量存储工作负载的经验,M3 具备以下特性:

  • 优化指标管道的每个部分,为工程师提供尽可能多的存储空间,以实现最少的硬件支出成本。

  • 通过自定义压缩算法 M3TSZ 确保数据尽可能高度压缩以减少硬件占用空间。

  • 由于多数数据资料为“一次写入,永不读取”,尽量保持精简的内存占用空间以避免内存成为瓶颈。

  • 尽可能避免压缩整理,通过缩小采样,以增加主机资源的利用率,从而实现更多并发写入,并提供稳定的写入/读取延迟。

  • 时序数据采用本地存储,无需时刻警惕高写入量操作。

  • Uber的工程团队发布了其开源指标平台M3,该平台已经在Uber内部使用多年。构建这个平台是为了取代基于Graphite的系统,M3提供了集群管理、聚合、收集、存储管理、分布式时序数据库(TSDB)以及带有其查询语言M3QL的查询引擎。\u0026#xD;\n\u0026#xD;\n Uber之前的指标和监控系统是基于Graphite的,由一个共享的Carbon集群作为支撑,Nagios负责告警,

  • M3 介绍 为Uber提供本机分布式时间序列数据库、高动态性和高性能的聚合服务、查询引擎和其他支持基础设施。 用途 用于存储时序服务平台 提供高可用服务(暂未完善,存在丢数据风险) 通过创建不同的 namespace 用于存储不同保留期的数据 使用了 prometheus 监控格式的读写 api 接口 完全兼容 grafana 数据读取 资料 官方文档参考 github 项目 influxdb b

 相关资料
  • 主要内容:1.大数据生态技术,2.数据存储,3.数据存储的发展,4.数据存储的方式1.大数据生态技术 数据存储处理: 清洗, 关联, 规范化, 组织建模, 通过数据质量的检测, 数据分析然后提供相应的数据服务 离线数仓: 实时数仓: 以Kafka, cancal/Maxwell/FlinkCdc为区分, 离线数仓为Hive, Sqoop 实时数仓:分层: Ods, Dwd, Dim, Dwm, Dws, Ads 离线数仓分层: Ods. Dwd, Dws, Dwt, Ads 实

  • 本文向大家介绍如何将小端存储模式转为大端存储模式?相关面试题,主要包含被问及如何将小端存储模式转为大端存储模式?时的应答技巧和注意事项,需要的朋友参考一下

  • 只是一个关于如何实现多个Firebase存储安全规则的简短问题。 事实上,我想限制可以上传的文件的大小,但保留我的认证规则。 我一直在阅读上一篇文章,它给了我一个关于如何限制每个文件的上传大小的提示,但我仍然在努力实现“匹配/files/{fileName}”与身份验证规则的某个地方。 经过多次尝试,这是我在写这篇文章之前的最后一次迭代: 当然,我确实阅读了官方文档,但似乎我仍然无法正确理解。

  • 我测试了在新的Azure门户中创建经典存储帐户(manage.windowsazure.com)和“新”存储帐户。将它们设置为类似的,并运行相同的代码来创建和配置队列。但指标仅显示门户中的经典存储帐户(能够在新门户中看到这两个帐户) 我已经像这样设置了ServiceProperties,并且可以在获取服务属性或查看Azure门户时成功地看到保存的这些更改。 当我使用Microsoft Azure

  • 拒绝许可。无法访问存储桶..请访问Firebase控制台中的Storage选项卡,为您的存储桶启用Firebase存储,并确保您有足够的权限来正确提供资源 在谷歌搜索如何设置这些安全规则,我不确定什么是正确的答案。一些答案建议我在代码中编写方法来授予权限,但文档建议我需要在Firebase的端进行。 这是其中一个例子 我无法理解人们的回答 就像几个月前的这张 有人能解释一下当前的Firebase(

  • 小数转 2 进制 方法:乘2取整 对十进制小数乘2得到的整数部分和小数部分,整数部分既是相应的二进制数码,再用2乘小数部分(之前乘后得到新的小数部分),又得到整数和小数部分。如此不断重复,直到小数部分为0或达到精度要求为止。第一次所得到为最高位,最后一次得到为最低位。 如0.25的二进制: 0.25*2 = 0.5 取整是0, 0.5*2 =1.0 取整是1, 即0.25的二进制为 0.01(第一

  • 小数转 2 进制 方法:乘2取整 对十进制小数乘2得到的整数部分和小数部分,整数部分既是相应的二进制数码,再用2乘小数部分(之前乘后得到新的小数部分),又得到整数和小数部分。如此不断重复,直到小数部分为0或达到精度要求为止。第一次所得到为最高位,最后一次得到为最低位。 如0.25的二进制: 0.25*2 = 0.5 取整是0, 0.5*2 =1.0 取整是1, 即0.25的二进制为 0.01(第一

  • 类名:\Yurun\Crawler\Module\Processor\Handler\ModelStorageProcessor Bean 名:ModelStorageProcessor 用于在@Processor注解中指定。 注解 @ModelStorage 类名:\Yurun\Crawler\Module\Processor\Annotation\ModelStorage 参数: 名称 描述