Venice: 面向星球级工作负载的衍生数据平台

RayRay
Venice高吞吐量低延迟多集群支持多租户Github开源项目

venice

Venice - 下一代衍生数据平台

在当今数据驱动的时代,如何高效地管理和利用海量衍生数据成为了许多大型企业面临的关键挑战。为此,LinkedIn开源了其内部使用的衍生数据存储平台Venice,旨在为业界提供一个强大而灵活的解决方案。本文将详细介绍Venice的设计理念、核心特性以及应用场景,展示其如何支撑起星球级的数据工作负载。

Venice简介

Venice是一个专门为处理衍生数据而设计的存储平台,具备以下几个关键特性:

  1. 支持从批处理和流处理源(如Hadoop和Samza)进行高吞吐量的异步数据摄取
  2. 通过远程查询或进程内缓存提供低延迟的在线读取
  3. 基于CRDT(Conflict-free Replicated Data Type)的冲突解决机制,实现跨区域的主动-主动复制
  4. 每个区域内支持多集群,并可由运维人员进行集群分配
  5. 在每个集群内实现多租户、水平可扩展性和弹性

这些特性使Venice特别适合作为特征存储(Feature Store)的有状态后端组件。AI应用可以将机器学习训练作业的输出数据输入到Venice中,然后在在线推理工作负载期间查询这些数据。

Venice高级架构图

Venice的写入路径

Venice的写入路径可以分为三种粒度:完整数据集交换、向现有数据集插入多行数据、以及更新某些行的部分列。这三种粒度都支持通过Hadoop和Samza进行操作。此外,任何服务还可以使用Online Producer库异步生成单行插入和更新。

混合存储

Venice支持在单个数据集中混合使用上述三种写入操作粒度。这种既接收完整数据集交换又接收行插入或行更新的数据集被称为"混合"数据集。

在配置混合存储时,一个重要的概念是"回溯时间"。它定义了在交换新一代数据集时,应该回溯多长时间的最近实时写入并应用到新数据集之上。

利用这种机制,可以将流处理作业的输出叠加在批处理作业的输出之上。如果使用部分更新,那么某些列可以实时更新,而其他列则通过批处理更新,这两组列可以根据需要重叠或互斥。

写入计算

Venice的写入计算包括两种操作:

  • 部分更新:设置值中特定字段的内容
  • 集合合并:在集合或映射中添加或删除条目

需要注意的是,目前写入计算仅支持主动-被动复制模式。支持主动-主动复制的功能正在开发中。

Venice的读取路径

Venice支持以下读取API:

  • 单一获取:获取与单个键关联的值
  • 批量获取:获取与一组键关联的值
  • 读取计算:对与一组键关联的值的字段进行投影和/或计算某些函数

在使用读取计算DSL时,Venice当前支持以下函数:

  • 点积:对存储在给定字段中的浮点向量与查询参数中提供的另一个浮点向量执行点积,并返回结果标量
  • 余弦相似度:对存储在给定字段中的浮点向量与查询参数中提供的另一个浮点向量执行余弦相似度计算,并返回结果标量
  • 哈达玛积:对存储在给定字段中的浮点向量与查询参数中提供的另一个浮点向量执行哈达玛积,并返回结果向量
  • 集合计数:返回存储在给定字段中的集合中的项目数

客户端模式

Venice提供两种主要的数据访问模式:

  1. 经典Venice模式(无状态):

    • 可以对Venice的分布式后端服务执行远程查询
    • 如果在此模式下使用读取计算操作,查询会被下推到后端,只有计算结果会返回给客户端
    • 有两种客户端可以执行此类远程查询: a) 轻量级客户端:最简单的客户端,将请求发送到路由层,然后路由层将请求发送到服务器层 b) 快速客户端:这种客户端了解分区情况,因此可以直接将请求发送到正确的服务器实例,跳过路由层(注意:此客户端仍在开发中,可能不如轻量级客户端稳定或功能完备)
  2. Da Vinci模式(有状态):

    • 可以预先加载部分或全部数据集分区,并对结果本地缓存执行查询
    • 数据的后续更新会继续流入并应用到本地缓存中

这些客户端的特性对比如下:

客户端类型网络跳数典型延迟(p99)状态占用
轻量级客户端2< 10毫秒无状态
快速客户端1< 2毫秒最小(仅路由元数据)
Da Vinci客户端(RAM + SSD)0< 1毫秒有限RAM,完整数据集在SSD
Da Vinci客户端(全内存)0< 10微秒完整数据集在RAM

所有这些客户端共享相同的读取API,这使得用户可以在不需要重写应用程序的情况下,调整其成本/性能权衡。

Venice的应用场景

Venice作为一个强大的衍生数据平台,在多个领域都有广泛的应用:

1. AI和机器学习

作为特征存储的后端,Venice可以存储和提供机器学习模型所需的特征数据。AI团队可以将其训练作业的输出存储在Venice中,然后在在线推理过程中快速检索这些特征。这种架构大大提高了AI应用的效率和响应速度。

2. 实时数据分析

Venice的低延迟读取和实时更新能力使其成为实时数据分析系统的理想选择。企业可以利用Venice存储和查询实时指标、用户行为数据等,支持快速决策和实时仪表板。

3. 个性化推荐系统

利用Venice的高性能读写能力,企业可以构建复杂的个性化推荐系统。Venice可以存储用户画像、商品特征等数据,并支持快速的相似度计算,为用户提供实时、个性化的推荐结果。

4. 大规模配置管理

对于需要管理大量配置数据的系统,Venice提供了一个可靠的解决方案。它支持频繁更新和快速读取,同时保证了跨区域的一致性,非常适合存储和管理全局配置、特性开关等数据。

5. 时序数据存储

虽然Venice不是专门为时序数据设计的,但其灵活的数据模型和高吞吐量的写入能力使其也能很好地处理时序数据。企业可以利用Venice存储和查询大量的传感器数据、日志数据等。

Venice的部署和使用

要开始使用Venice,可以参考官方提供的快速入门指南。该指南将帮助你创建自己的Venice集群,并演示如何创建数据存储、执行批量推送、增量推送以及单一获取等操作。

Venice团队建议使用最新的稳定版本来开始你的Venice之旅。这可以确保你获得最新的功能和性能改进,同时避免可能存在的实验性功能带来的不稳定性。

Venice社区和资源

Venice拥有一个活跃的开源社区,为使用者和贡献者提供了丰富的资源和支持渠道:

此外,Venice项目还提供了多个渠道来跟踪其进展和社区动态:

结语

Venice作为一个面向星球级工作负载的衍生数据平台,展现了其在处理大规模数据方面的卓越能力。它不仅为AI和机器学习应用提供了强大的基础设施支持,还在实时数据分析、个性化推荐等多个领域发挥着重要作用。

随着数据规模和复杂性的不断增长,Venice这样的高性能、灵活的数据平台将变得越来越重要。它不仅能够满足当前的需求,还为未来的数据挑战提供了可扩展的解决方案。

无论你是正在寻找能够支撑大规模AI应用的数据平台,还是需要一个高性能的衍生数据存储系统,Venice都值得你深入探索和考虑。通过参与Venice的开源社区,你不仅可以获得强大的技术支持,还有机会为这个令人兴奋的项目做出贡献,共同推动大数据技术的发展。

让我们一起拥抱Venice,开启数据驱动未来的新篇章!🚀🌟

编辑推荐精选

TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

Keevx

Keevx

AI数字人视频创作平台

Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。

即梦AI

即梦AI

一站式AI创作平台

提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作

扣子-AI办公

扣子-AI办公

AI办公助手,复杂任务高效处理

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

蛙蛙写作

蛙蛙写作

AI小说写作助手,一站式润色、改写、扩写

蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。

AI辅助写作AI工具蛙蛙写作AI写作工具学术助手办公助手营销助手AI助手
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
下拉加载更多