前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Uber Freight 近实时分析架构,晚点取消的比例下降了 0.4%

Uber Freight 近实时分析架构,晚点取消的比例下降了 0.4%

作者头像
深度学习与Python
发布2023-03-29 13:52:37
2290
发布2023-03-29 13:52:37
举报
文章被收录于专栏:深度学习与python

作者 | Claudio Masolo

译者 | 明知山

策划 | 丁晓昀

Uber Freight 是 Uber 的一个平台,致力于为托运人和承运人提供连接服务。为托运人提供可靠的服务对 Uber Freight 来说至关重要,这也就是为什么他们要开发承运人记分卡(Carrier Scorecard),其中包含了准时取货 / 送货、跟踪自动化和晚点取消等指标。关键在于他们要在 Carrier App 上近乎实时地显示这些信息,而且提供这种服务的架构必须足够快,快到可以满足这些指标需求。

这个架构的要求是数据新鲜度、延迟、可靠性和准确性。一旦运单完成或退回,将以较低的延迟更新绩效分数。每个承运人都可以在低延迟的情况下在应用中查看自己的绩效分数。数据的处理和服务具有较高的可靠性,如果发生了故障,整个系统可以进行优雅的恢复。性能指标必须得到精确的计算。

在设计和实现最终的架构之前,他们考虑了一些潜在的解决方案,特别是在聚合指标方面。这些潜在的解决方案包括使用 MySQL 进行动态聚合和使用 MySQL 进行数据预聚合。这两种解决方案都有一些缺点,主要的问题是需要批量插入或更新记录,以确保历史数据被正确更新。他们考虑的另一个解决方案是使用两张 OLAP 数据库表,一张存储原始数据,然后使用事件触发器异步函数来更新另一个表中的指标,但是这个解决方案是不可伸缩的,特别是在写入流量很高的情况下。

最终的架构图

最终的架构使用了 Kafka、Flink 和 Pinot。后端服务生成的 Kafka 事件通过 Flink 来聚合。聚合的数据被摄取到 Pinot 中,它使用 Kafka 的实时摄取来保留最后三天的数据,历史数据被摄取到 HDFS 中。

Apache Pinot 提供了 JSON、排序列和星树等索引优化技术,以加速查询的性能。快速查询为承运人提供了更好的交互体验。为了实现 250 毫秒的表查询延迟,他们在 Pinot 表上创建了两种索引——倒排索引和排序索引。倒排索引可以将带有 WHERE 子句的查询速度提高 10 倍,根据承运人的惟一 ID 对索引进行排序,将表的大小减小了一半,这也减小了查询延迟。

Neutrino 是用于访问 Pinot 数据集的查询网关,它是 Presto 的另一种部署方式,其中协调器和 Worker 运行在不同的主机上,可以独立执行查询。Neutrino 接受 PrestoSQL 查询,并将其翻译成 Pinot 查询语言。Neutrino 前面添加了 Redis 缓存,可以存储聚合指标最多 12 小时,缓存命中率超过了 90%。

根据 Uber 的观察发现,自从它开始向 Freight 司机提供绩效信息以来,所有关键指标都有了显著提升——晚点取消的比例下降了 0.4%,准时取货的比例提高了 0.6%,准时卸货的比例提高了 1%,自动跟踪的比例提高了 1%。这些绩效改进在 2021 年估计节省了 150 万美元的成本。

原文链接:

https://www.infoq.com/news/2022/11/uber-freight-analysis/

声明:本文为InfoQ翻译,未经许可禁止转载。

点击底部阅读原文访问 InfoQ 官网,获取更多精彩内容!

今日好文推荐

马斯克要求推特程序员写周报,具体到代码行数;刘强东称将末位淘汰部分京东高管;闰秒终于要被取消了!| Q资讯

阿里云李飞飞:用5年让PolarDB成为“国货之光”| 开源人说

谷歌计划裁员上万人:利用刚上线半年的新绩效系统解雇6%“排名垫底”员工

世界杯将是压垮 Twitter 的最后一根稻草?历经马斯克“血洗”后,全世界在等 Twitter 宕机

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-11-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 InfoQ 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档