每秒聚合5亿个指标,Uber 开源大规模指标平台 M3
Uber 近日开源了已在内部使用多年的指标平台 —— M3 ,这是一个基于分布式时序数据库 M3DB 构建的度量平台,可每秒聚合 5 亿个指标,并且以每秒 2000 万笔的速度持续存储这些结果。
Uber 表示,为促进在全球的运营发展,他们需要能够在任何特定时间快速存储和访问后端系统上的数十亿个指标。一直到 2014 年底,Uber 的所有服务、基础设施和服务器都是将指标发送到基于 Graphite 的系统中,该系统将这些资料以 Whisper 档案格式储存到分片 Carbon 丛集。此外,还将 Grafana 用于仪表板,Nagios 用于告警,并通过来源控制脚本发出 Graphite 阈值检查。但由于扩展 Carbon 集群需要手动重新分片的过程,并且由于缺乏副本,任何单一节点的磁盘故障都会导致其相关指标的永久性丢失。简而言之,随着公司的不断发展,这种解决方案无法再满足其需求。
在评估现有的解决方案后,Uber 没有找到能够满足其资源效率或规模目标,并能够作为自助服务平台运行的开源替代方案。因此在 2015 年,M3 诞生。起初,M3 几乎全部采用完全开源的组件来完成基本角色,像是用于聚合的 statsite ,用于时序存储具备 Date Tiered Compaction Strategy 的 Cassandra ,以及用于索引的 ElasticSearch 。基于运营负担,成本效率和不断增长的功能集考虑,M3 逐渐形成自己的组件,功能也超越原本使用的方案。
M3 目前拥有超过 66 亿条时序数据,每秒聚合5亿个指标,并在全球范围内每秒持续存储 2000 万个指标(使用 M3DB),批量写入将每个指标持久保存到不同区域的三个副本中。它还允许工程师编写度量策略,以不同的时间长度和不同粒度对资料进行保存。这使得工程师和数据科学家能以不同的留存规则,精细和智能地存储有不同保留需求的时序数据。
在 Uber,由于很多团队在广泛使用 Prometheus ,如何很好地搭配使用是很重要的事。通过一个 sidecar 组件 M3 Coordinator ,M3 集成了 Prometheus 。该组件会向本地区域的 M3DB 实例写入数据,并将查询扩展至“区域间协调器”(inter-regional coordinator)。
基于 Uber 日益增长的度量存储工作负载的经验,M3 具备以下特性:
优化指标管道的每个部分,为工程师提供尽可能多的存储空间,以实现最少的硬件支出成本。
通过自定义压缩算法 M3TSZ 确保数据尽可能高度压缩以减少硬件占用空间。
由于多数数据资料为“一次写入,永不读取”,尽量保持精简的内存占用空间以避免内存成为瓶颈。
尽可能避免压缩整理,通过缩小采样,以增加主机资源的利用率,从而实现更多并发写入,并提供稳定的写入/读取延迟。
时序数据采用本地存储,无需时刻警惕高写入量操作。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
冷观谷歌返华:虽不限于搜索服务,但都长路漫漫
《纽约时报》网站近日刊文称,谷歌母公司Alphabet重返中国市场的计划并不局限于搜索,它旗下的无人驾驶汽车公司Waymo已经在上海注册了一家全资子公司,近期它在该国也有其它的动作,包括设立人工智能研究中心和投资本土企业。不过,不管开展哪一项业务,该公司势必都会面临重重困难。 在8年前撤出中国市场后,谷歌据称正在寻求返华,重建其在当地的网络搜索业务。该举遭到了尖锐的批评,它自己的员工也颇有微词。但对于谷歌的母公司Alphabet来说,该全球最大的互联网市场实在太有吸引力,它的种种发展良机难以抗拒。该公司目前在中国的兴趣范围似乎不仅仅限于互联网搜索。 最新传出的信号来自于Waymo,这家在2016年从谷歌分拆出来的无人驾驶汽车公司今年5月悄悄地在上海注册了一家子公司,说明它想要从中国重点发展的一个行业分一杯羹。 谷歌近期在中国采取的其他动作还包括,开设一个研究中心和向开发者推广其软件工具。 在Alphabet正在寻求拓展的人工智能和其他的领域,中国如今不仅仅坐拥全球最大的互联网用户基数,还已经形成了一个由成熟的潜在商业伙伴、人才和渴求技术的客户组成的生态系统,未来有望涌现出不少的创新技术...
- 下一篇
腾讯优图 ncnn AI 框架宣布加入 ONNX 开放生态系统
近日,腾讯优图首个 AI 开源项目 ncnn 宣布正式加入 ONNX ,现已支持将 ONNX 文件转换为 ncnn 模型。此后,AI 开发者能更快实现从研究到模型的落地部署,也能更方便地在不同框架间切换,为每项任务选取最优的开发工具。 ONNX 是一个开放的深度学习开发工具生态系统,全称为“Open Neural Network Exchange”(开放的神经网络切换),由微软和 Facebook 发起,旨在实现不同神经网络开发框架之间的互通互用。目前,Microsoft Cognitive Toolkit,PyTorch 和 Caffe2 均已支持 ONNX。 ncnn 是腾讯优图实验室首个开源项目,是一个为手机端极致优化的高性能神经网络前向计算框架。它从设计之初深刻考虑手机端的部属和使用。无第三方依赖,跨平台,手机端 cpu 的速度快于目前所有已知的开源框架。 据悉,目前 Google play 商店已有 QQ、微信、微视、京东、支付宝、爱奇艺、美颜相机、快手短视频、LIKE 短视频、玩美彩妆等超过30款 APP ,选用 ncnn 作为手机 CNN 推断库,实现包括人脸检测跟踪、人...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS关闭SELinux安全模块
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- 设置Eclipse缩进为4个空格,增强代码规范
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7安装Docker,走上虚拟化容器引擎之路