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小说写作助手,一站式润色、改写、扩写

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

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

问小白

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

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

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

Transly

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

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

讯飞智文

讯飞智文

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

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

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

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

模型训练热门AI工具内容创作智能问答AI开发讯飞星火大模型多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

AI助手热门AI工具AI创作AI辅助写作讯飞绘文内容运营个性化文章多平台分发
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

下拉加载更多