2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

LinkedIn 数据基础设施简介

  • 2010-08-19
  • 本文字数:1180 字

    阅读完需:约 4 分钟

来自 LinkedIn 的 Jay Kreps 在近日举办的 Hadoop 峰会上详细介绍了 LinkedIn 对数据的处理方式。Kreps 介绍了 LinkedIn 每天是如何处理 1.2 千亿个关系并通过高容量、低延迟的站点服务来混合大量的数据计算的。

LinkedIn 的很多重要数据都是离线的,移动起来相当慢。因此,他们将每天对 Hadoop 的批处理作为计算的重要组成部分。比如说,他们采用这种方式对其“People You May Know”产品数据进行预计算,这么做每天会在 mapreduce 管道(拥有 82 个 Hadoop job)中产生 1.2 千亿个关系,需要 16TB 的临时数据。这个 job 使用了一个统计模型来预测两个人认识的概率。有趣的是,他们使用布隆过滤器(bloom filters)来加速巨大的连接关系,这提升了10 倍的性能。

LinkedIn 有两个工程师从事这个管道开发,他们每周可以测试 5 个新算法。为了实现这种变化率,他们使用 A/B 测试来比较新旧方法,使用“fly by instruments”方法来优化结果。为了提升性能,他们还需要操纵大范围数据:使用大范围集群处理。为了实现这个目标,他们从客户化的图处理代码迁移到了 Hadoop mapreduce 代码上:这需要一些周全的设计,因为很多图算法无法直接转换为 mapreduce。

LinkedIn 对开源项目投入巨大,希望构建出一流的组件并号召社区参与进来。其中两个开源项目构成了其数据基础设施的中心。 Azkaban 是个面向 Hadoop 的开源工作流系统,提供了类似于 cron 的调度,类似于 make 的依赖分析,还包含了重启。它用于控制 ETL job,该 job 可以将数据库与事件日志推送到边缘服务器存储(Voldemort)中。

Voldemort 是 LinkedIn 的 NoSQL 键 / 值存储引擎。它每天都会向其站点推送出几十亿的边缘概率关系图,用于渲染网页时查询所用。这种数据是只读的:它是通过这些集群 job 计算出来的,但之后会实时通过搜索进行过滤,这么做会限定到用户感兴趣的某些公司,或是排除掉用户已经表明不认识的那些人。这个方法来源于使用数据库解决这个问题时所遇到的障碍,后者需要分片并迁移至完全依靠手工移动数据的系统。Voldemort 完全是分布式且去中心化的,支持分区与容错。

LinkedIn 通过同时获取 Hadoop 与 Voldemort 大范围的结果来更新服务器,预热缓存,然后分别在每个服务器上针对新一天的数据建立原子转换。他们会将前一天的数据保持在服务器上,这样一旦新一天的数据集出现了问题就可以立刻恢复过来。LinkedIn 在其 Hadoop 管道上构建了一个索引结构:这会产生几个 TB 的查找结构,该结构完美地使用了散列(每个键只需要 2.5 个位)。这种处理权衡了集群计算资源以实现更快的服务器响应;LinkedIn 大约需要 90 分钟时间在 45 个结点集群上构建 900GB 的数据。他们使用 Hadoop 来处理大块的批数据,这样其 Hadoop 集群就需要周期性地进行升级,但 Voldemort 则永远不需要。

感兴趣的读者可以查看演讲的幻灯片以进一步了解详情。

查看英文原文: LinkedIn’s Data Infrastructure

2010-08-19 09:553817
用户头像

发布了 88 篇内容, 共 272.5 次阅读, 收获喜欢 9 次。

关注

评论

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

VR游戏的上线流程

北京木奇移动技术有限公司

VR开发 软件外包公司 VR技术

局域网沟通软件,私有化内网沟通工具-支持国产芯片与系统

BeeWorks

即时通讯 IM

昇腾910-PyTorch 实现 ResNet50图像分类

永荣带你玩转昇腾

VR游戏的上线运营

北京木奇移动技术有限公司

软件外包公司 VR游戏 VR技术开发

VR游戏的线上运维

北京木奇移动技术有限公司

软件外包公司 VR技术 VR游戏

HarmonyOS实战:组件化项目搭建

IT小码哥

鸿蒙 Ability an'droid haromny HarmonyOS NEXT

IM即时通讯软件,BeeWorks的产品优势有哪些?

BeeWorks

即时通讯 IM 企业级应用

7 款最佳数据集成平台推荐

NocoBase

开源 低代码 ETL 数据集成平台 数据模型驱动

昇腾910-PyTorch实现传统CTR模型WideDeep网络

永荣带你玩转昇腾

PyTorch 实现GoogleNet用于图像分类

永荣带你玩转昇腾

PyTorch 实现 Alexnet图像分类

永荣带你玩转昇腾

基于昇腾用PyTorch实现CTR模型DIN(Deep interest Netwok)网络

永荣带你玩转昇腾

HarmonyOS实战:实现任意拖动的应用悬浮窗口

IT小码哥

鸿蒙 Ability Open Harmony an'droid harmony harmoyos

PyTorch 实现MobileNetV1用于图像分类

永荣带你玩转昇腾

HarmonyOS实战:首页多弹窗顺序弹出终极解决方案

IT小码哥

HarmonyOS an'droid harmony 鸿蒙 os

企业im怎么选? BeeWorks -安全的企业内部通讯软件

BeeWorks

即时通讯 IM

鸿蒙仓颉开发语言实战教程:自定义组件

幽蓝计划

「DeepSeek 技术解析」:LLM 训练中的强化学习算法

Baihai IDP

AI 强化学习 DeepSeek

局域网沟通工具,企业内网即时通讯app推荐!

BeeWorks

即时通讯 企业级应用

NPU适配推荐系统GR模型流程

永荣带你玩转昇腾

VR游戏的开发框架

北京木奇移动技术有限公司

VR开发 软件外包公司 VR技术

HarmonyOS实战:路由跳转踩坑记

IT小码哥

HarmonyOS 鸿蒙 Ability an'droid harmony HarmonyOS NEXT

BOE(京东方)第6代新型半导体显示器件生产线全面量产 打造全球显示产业新引擎

爱极客侠

VR游戏开发的主要流程

北京木奇移动技术有限公司

软件外包公司 VR技术 VR游戏

HarmonyOS基础组件:Button三种类型的使用

IT小码哥

鸿蒙 鸿蒙 Ability an'droid HarmonyOS NEXT

AI智能体策略FunctionCalling和ReAct有什么区别?

王磊

“深时数字地球”国际大科学计划系列工作坊持续开放!专业友好可复现,赋能科学智能生态合作(4)

ModelWhale

科学智能 DDE 深时数字地球 AI4S

跨端生态重构×AI智能驱动:移动研发模式新纪元

xuyinyin

DevEcoStudio 中使用模拟器时如何过滤日志

飞龙AI

鸿蒙核心技术 鸿蒙开发者工具 DevEcoStudio

阅读源码的思路

Nick

开源 软件工程 经验之谈

LinkedIn数据基础设施简介_架构_Ron Bodkin_InfoQ精选文章