2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

Yahoo 开源实时大数据处理服务系统 Vespa

  • 2017-09-28
  • 本文字数:1748 字

    阅读完需:约 6 分钟

从 2006 年开源 Hadoop 开始,Yahoo(也就是现在的 Oath)为广大开发者社区的大数据基础设施做出了不可磨灭的贡献。现在,我们又卖出了坚实的一步,Yahoo 的大数据处理和服务引擎 Vespa 正式在 GitHub 上开源了( https://github.com/vespa-engine )。

越来越多的应用程序需要处理大量的数据,尽管开发者可以使用 Hadoop 来存储和批处理数据,也可以使用 Storm 来处理流式数据,但这些技术无法直接服务于最终用户。提供大规模服务是一项巨大的挑战,当用户需要等待基于大量数据集的计算结果时,比如特征搜索、推荐系统、定制化,这种挑战就会变得尤为明显。

有了 Vespa,开发者可以轻松地构建基于大数据集实时计算结果的应用,而到目前为止,只有少数几个大公司具备这样的能力。

提供服务不是简单地根据 ID 查询项目或应用模型计算出几个数字,很多提供服务的应用需要基于大数据集运行计算,比如搜索和推荐。为了给用户返回精确的搜索结果或推荐清单,应用程序需要找出所有符合查询条件的项目,根据相关度或推荐模型决定每一个项目的匹配程度,移除重复项目,增加浏览辅助项,最后把结果返回给用户。因为这些计算依赖用户的具体请求,所以无法预先计算。应用程序必须实时地处理用户请求,而且要快,因为用户在等待结果。在大数据集上快速执行上述操作需要很多基础设施的支持——分布式算法、数据分布和管理、高效的数据结构和内存管理等等。而这些正是 Vespa 要为开发者提供的——一个一站式的引擎,简洁易用。

我们已经在 Oath 的多个产品上使用了 Vespa,包括 Yahoo.com、Yahoo News、Yahoo Sports、Yahoo Finance、Yahoo Gemini、Flickr 等。我们使用 Vespa 来处理每日数十亿个用户请求,为用户返回基于数十亿文档得出的搜索结果和推荐内容,并提供定制化内容和广告。事实上,Vespa 每秒可以处理 90,000 次内容和广告请求,延迟通常只有几十毫秒。在 Flickr 上,Vespa 每秒可以处理数百个基于数百亿张图片的关键字和图像搜索。另外,Vespa 在 Yahoo Gemini 上每天处理 30 亿个请求,高峰时段每秒钟 140,000 个请求,直接给公司带来可观的收益。

我们基于 Vespa 构建的应用具备如下特性:

  • 使用 SQL 风格的查询和文本搜索来过滤内容

  • 基于匹配项生成数据驱动的页面

  • 根据人工或机器学习相关度模型对匹配进行排名

  • 毫秒级的处理响应时间

  • 实时写入数据,每个节点每秒钟写入数千次

  • 在运行服务的同时进行伸缩和重配置

为了保证速度和伸缩性,Vespa 在多台机器上分布数据和计算任务,避免了单点 master 的瓶颈。传统的应用将数据拉取到一个无状态的层上进行处理,而 Vespa 是将计算任务推送给数据集。为此,Vespa 需要做很多非常棘手的工作,比如当机器发生故障或增加新机器时在后台重新分布数据、实现分布式的低延迟和处理算法、处理分布式数据一致性等。

我们在构建 alltheweb.com(后被 Yahoo 收购)时就开始开发我们的搜索和服务。在过去几年中,我们不断使用新技术重写了我们的引擎。Vespa 是我们发布过的项目当中涉及范围最广、代码量最大的一个项目。Vespa 已经在 Yahoo 的大部分关键系统上得到了实地验证,所以我们很高兴能够把 Vespa 推向世界。

Vespa 赋予了开发者将任意大小数据集和模型填充进服务系统的能力,而且可以实时地得到计算结果,带来更好的用户体验,而且成本更低,比预计算方式具有更低的复杂度。而且,开发者可以与复杂的计算展开实时的交互,不需要启动离线作业或反复回过头来检查结果。

Vespa 可以运行在自有数据中心或云端。我们提供了 Vespa 的 Docker 镜像和 rpm 安装包,也提供了运行指南,可以让 Vespa 运行在本地机器或 AWS 集群上。

这个( http://docs.vespa.ai/ )是我们的文档,里面包含了一个入门指南

管理分布式系统不是件简单的事情。我们投入了大量精力开发Vespa,其他开发者就可以专注在创建功能上,他们可以实现基于大数据集的实时计算,而不是把时间花在集群和数据的管理上。根据我们的文档所给出的指南,你可以在不到十分钟的时间内让一个应用跑起来。

原文地址: http://blog.vespa.ai/post/165763618906/open-sourcing-vespa-yahoos-big-data-processing


感谢杜小芳对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-09-28 19:004524
用户头像

发布了 322 篇内容, 共 150.0 次阅读, 收获喜欢 148 次。

关注

评论

发布
暂无评论
发现更多内容

优秀的FAQ示例及FAQ页面制作技巧

小炮

FAQ

移动数字化平台原来可以这样帮企业打造协同生态链!

BeeWorks

如何通过 Node 上传小程序代码,不会就看看吧

CRMEB

PlatoFarm生态NFT总量恒定,激励机制让Dao成员持续贡献

西柚子

PlatoFarm生态NFT总量恒定,激励机制让Dao成员持续贡献

小哈区块

java高级用法之:JNA中的Memory和Pointer

程序那些事

Java Netty 程序那些事 4月月更

iOS编码规范

刁架构

规范 iOS编码规范

开个自助洗车要多少钱?主要费用有哪些?

共享电单车厂家

自助洗车加盟 开个自助洗车

云原生边缘计算KubeEdge在智慧停车中的实践

华为云原生团队

边缘计算 边缘技术 边缘云

后端开发【一大波干货知识】网络通信模型和网络IO管理

Linux服务器开发

后端开发 Linux服务器开发 C++后台开发 网络io 网络通信

花14天梳理了3月份各大厂问得最多的50道Java基础面试题

北游学Java

Java 面试

如何使用 Serverless Devs 部署静态网站到函数计算

阿里巴巴云原生

ironSource Luna 正式推出针对苹果搜索广告的自动化投放工具

极客天地

TASKCTL的单机与分布式部署,如何启动服务和代理节点监听

敏捷调度TASKCTL

批量任务 调度引擎 ETL 自动化运维 调度任务

无人洗车店生意怎么样?想加盟自助洗车

共享电单车厂家

加盟自助洗车 无人自助洗车加盟 无人洗车店生意

解决混合云数据库一站式备份若干问题 腾讯云数据库DBS正式上线

科技热闻

直播预告 | PolarDB-X 动手实践系列——用 PolarDB-X 搭建一个高可用系统

阿里云数据库开源

MySQL 数据库 阿里云 开源 PolarDB-X

基于数据技术全域流量协同优化是银行零售业务关键突破点

易观分析

银行 数据技术

关于 RocketMQ Summit 的延期通知

阿里巴巴云原生

这些大咖想和你聊聊什么是行业期待的多模态学习

小红书技术REDtech

算法 多模态

阿里巴巴云原生混部系统 Koordinator 正式开源

阿里巴巴云原生

K8s 基于 EFK 的日志解决方案介绍

移动云大数据

elasticsearch Kibana Fluentd

加盟自助洗车需要人工全天看守吗

共享电单车厂家

24小时无人自助洗车 加盟自助洗车

知名数字化解决方案厂商新华三加入龙蜥社区,已完成硬件兼容性测试

OpenAnolis小助手

开源社区 兼容性测试 龙蜥社区 CLA 新华三

构建测试的体系化思维(高级篇)

BY林子

质量赋能 测试体系

快速了解日志概貌,详细解读13种日志模式解析算法

云智慧AIOps社区

算法 运维 安全 监控 日志

元宇宙背景下——内容生产传播商业价值分析2022

易观分析

元宇宙 内容生产传播

EventBridge 与 FC 一站式深度集成解析

阿里巴巴云原生

腾讯WeTest通过TMMi 3级认证

WeTest

Java运算符、输入、选择流程控制详细讲解

五分钟学大数据

Java 4月月更

走进直播间——智能自动化助力政企数字化转型

云计算

Yahoo开源实时大数据处理服务系统Vespa_大数据_Jon Bratseth_InfoQ精选文章