news 2026/8/27 15:59:44

为什么Venice值得关注:LinkedIn开源的行星级派生数据平台完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
为什么Venice值得关注:LinkedIn开源的行星级派生数据平台完整指南

为什么Venice值得关注:LinkedIn开源的行星级派生数据平台完整指南

【免费下载链接】veniceVenice, Derived Data Platform for Planet-Scale Workloads.项目地址: https://gitcode.com/gh_mirrors/venic/venice

Venice 是 LinkedIn 开源的派生数据平台(Derived Data Platform),专为行星级负载(Planet-Scale Workloads)设计。它用一个系统打通离线批处理、近线流式与在线服务三个世界:数据从 Hadoop、Spark、Kafka 等高吞吐渠道异步写入,再以低于 10 毫秒甚至亚毫秒的延迟对外提供在线读取,并原生支持跨地域的 active-active 复制。对于正在搭建特征存储(Feature Store)或统一批流架构的工程师来说,Venice 是目前开源领域少数经过 LinkedIn 超大规模生产验证的选择。

一、什么是 Venice:一句话理解它的定位

可以把 Venice 理解为「有状态的派生数据服务层」:

  • 数据不是原始数据,而是由其他系统计算派生而来——比如聚合结果、机器学习特征、物化视图;
  • 它横跨离线(offline)→ 近线(nearline)→ 在线(online)三个层面,一份存储同时承接批量全量、增量推送与实时流写入;
  • 对上层应用(尤其是 AI 推理、实时推荐)而言,它就是一个「写入快、读取更快」的键值数据服务。

官方文档中将其核心能力概括为五点:高吞吐异步摄入、低延迟在线读取、跨地域 active-active 复制(基于 CRDT 冲突消解)、单地域内多集群、以及多租户弹性扩展。

二、Venice 的 5 个核心亮点:为什么值得你关注

  1. 🚀批流一体写入:批量全量推送、增量推送、流式写入三种模式可混用(Hybrid 混合存储),天然适配 Lambda/Kappa 架构;
  2. 极致读性能:三种客户端可选,延迟从 < 10ms 一路降到 < 1ms 甚至微秒级;
  3. 🌍行星级复制:跨地域 active-active 复制 + CRDT 冲突自动消解,全球多地写入互不冲突;
  4. 🔄零停机更新:数据集版本化(versioned),全量推送生成新版本后原子切换,线上流量无感;
  5. 🧩读写解耦:写入用哪条链路,读取端 API 完全一致,业务代码无需改动即可平滑升级客户端。

这也是它特别适合做Feature Store 的有状态存储层的原因——ML 训练产出灌入 Venice,在线推理直接从 Venice 取特征。

三、Venice 写入路径:5 种数据摄入方式怎么选

Venice 的写入路径覆盖不同新鲜度与规模的需求,常见模式对比如下:

写入模式适用场景典型数据源
批量推送(Batch Push)全量数据集替换Hadoop、Spark
增量推送(Incremental Push)大批量追加,不替换全量批任务产出
流式写入(Streaming Writes)实时事件驱动更新Kafka、Samza、Flink
写计算(Write Compute)部分字段更新、集合合并任意增量/流链路
混合存储(Hybrid Store)批 + 流融合,可配置回溯时间上述任意组合

几个值得记住的机制:

  • 全量推送会创建一个「future」新版本在后台加载,完成后原子切换为「current」,旧版本降级为「backup」——这就是零停机更新的秘密;
  • 增量推送与流式写入会同时写入所有现存版本(backup / current / future),保证多版本一致性;
  • 混合存储通过配置「回溯时间(rewind time)」控制流数据在新版本上重放的起点,实现批流结果的自然融合。

相关源码与文档入口:推送任务实现在clients/venice-push-job/目录,写入模式详解可见docs/user-guide/write-apis/目录下的系列文档。

四、Venice 读取路径:3 种客户端 + CDC,延迟一路压到微秒级

Venice 最有意思的设计之一:所有客户端共享同一套读取 APIgetbatchGetcompute),升级性能无需改业务代码。

客户端网络跳数典型 P99 延迟状态占用
Thin Client(瘦客户端)2 跳(经 Router)< 10 ms无状态
Fast Client(快速客户端)1 跳(直达 Server)< 2 ms仅路由元数据
Da Vinci Client(本地缓存)0 跳(本地读取)< 1 ms有界内存 + 全量 SSD

选择建议非常直观:

  • 先跑通:用 Thin Client 两跳查询,集成最简单;
  • 降延迟:换 Fast Client,感知分区直连 Server;
  • 要极致:上 Da Vinci Client,数据本地化,全内存模式下可低至< 10 微秒

此外还有CDC(变更数据捕获)客户端,以流的形式输出所有插入/更新/删除,常用于构建客户端侧索引、缓存同步与 ML 特征检索。三种客户端源码分别位于clients/venice-thin-client/clients/venice-client/(Fast Client 在fastclient包)与clients/da-vinci-client/目录。

五、3 步快速部署:用 Docker 跑起第一个 Venice 集群

官方提供了开箱即用的 Docker 镜像,单机环境部署只需三步(详细步骤见docs/getting-started/deployments/quickstart-single-dc.md):

第 1 步:获取项目(如需要源码中的 compose 文件与示例数据)

git clone https://gitcode.com/gh_mirrors/venic/venice

第 2 步:启动集群

docker/目录下找到docker-compose-single-dc-setup.yaml,执行 compose 启动命令。容器会自动拉起 Kafka、ZooKeeper、Venice Controller、Router、Server 与 Client,并创建名为venice-cluster的测试集群。

第 3 步:建 Store → 推数据 → 查数据

进入venice-client容器,使用示例脚本完成闭环(脚本与示例数据均在docker/venice-client/目录):

# 1. 用 key/value 的 Avro schema 创建 store ./create-store.sh http://venice-controller:5555 venice-cluster0 test-store \ sample-data/schema/keySchema.avsc sample-data/schema/valueSchema.avsc # 2. 批量推送 100 条示例数据 ./run-vpj.sh single-dc-configs/batch-push-job.properties # 3. 查询验证 ./fetch.sh http://venice-router:8888 test-store 1

如果想体验跨数据中心 active-active 复制,官方同样提供了docker/docker-compose-multi-dc-setup.yaml多 DC 编排文件。

六、项目结构巡礼:源码从哪里读起

Venice 采用 Gradle 多模块工程,主干结构对新人相当友好:

模块路径职责
services/venice-controller/控制面:集群、Store、版本管理
services/venice-router/读流量入口与路由
services/venice-server/存储与摄入引擎(数据分片所在层)
clients/各客户端与推送任务(thin / fast / Da Vinci / push-job)
internal/venice-common/核心公共库:schema、序列化、Helix 元数据等
docker/全套 Docker 镜像与单/多 DC 部署编排
docs/官方文档站点源码(架构、快速上手、运维手册)

学习路径建议:先读docs/getting-started/learn-venice/architecture-overview.md建立概念,再跑一遍单 DC 快速上手,最后对照services/下三大服务源码理解「Controller 编排 → Server 摄入 → Router 服务」的完整链路。社区贡献规范见docs/contributing/目录。

七、总结:Venice 适合谁?

如果你满足以下任意一条,值得把 Venice 加入技术雷达:

  • ✅ 正在建设Feature Store,需要一个承接 ML 特征的高性能在线存储;
  • ✅ 受困于批流割裂,想在一份存储上同时跑批量全量与实时流更新;
  • ✅ 业务需要全球多地域读写,又希望冲突消解交给基础设施自动完成;
  • ✅ 追求读延迟从毫秒压到亚毫秒甚至微秒,且不想为此重写业务代码。

Venice 带来的不仅是性能数字,更是一套经过 LinkedIn 行星级负载验证的「派生数据」工程范式——这正是它开源后持续受到关注的原因。

【免费下载链接】veniceVenice, Derived Data Platform for Planet-Scale Workloads.项目地址: https://gitcode.com/gh_mirrors/venic/venice

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/27 15:54:55

MT-GNN:连续时间网格演化与度量张量嵌入的脑形态预测

各位做神经影像、医学图像分析和图深度学习的朋友们&#xff0c;大家好。之前在处理大脑皮层形态预测任务时&#xff0c;我一直被两个问题困扰&#xff1a;一是传统的影像学指标&#xff08;如皮层厚度、体积&#xff09;是静态的&#xff0c;很难刻画大脑发育或疾病进展中的动…

作者头像 李华
网站建设 2026/8/27 15:47:58

OBS 直播按键显示怎么做?Input Overlay 免费插件 5 分钟配置教程

OBS 直播按键显示怎么做&#xff1f;Input Overlay 免费插件 5 分钟配置教程 【免费下载链接】input-overlay Show keyboard, gamepad and mouse input on stream 项目地址: https://gitcode.com/gh_mirrors/in/input-overlay Input Overlay 是一款开源的 OBS Studio 插…

作者头像 李华
网站建设 2026/8/27 15:46:37

免费开源 Crimson 字体完整使用指南

免费开源 Crimson 字体完整使用指南 【免费下载链接】Crimson The Crimson Text typeface 项目地址: https://gitcode.com/gh_mirrors/cr/Crimson Crimson 字体是一款免费开源的正文衬线字体家族&#xff0c;一次给出常规、半粗、粗体及对应斜体共 6 个字重&#xff0c;…

作者头像 李华
网站建设 2026/8/27 15:43:37

审查员常用链接

审查员常用链接 腾讯元宝 密塔 kimi 千问 豆包 形式缺陷工具 响应粉丝要求添加&#xff1a; 网页微信 必应 bilibili 抖音

作者头像 李华