HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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:553650
用户头像

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

关注

评论

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

C++为什么始终无法取代 C 吗?

Jackpop

在SaaS时代,帮助中心成为了许多企业的选择

Baklib

IT人才知道的二进制爱情,羡慕ing

ioik

爱情 二进制 java; 签约计划第三季

技术内幕 | StarRocks Community Champion、阿里云技术专家解读 Optimizer 实现

StarRocks

数据库

如何管理LAXCUS计算机集群

JAVA活菩萨

Java 程序员 后端 大厂技能 大厂实践

什么是好的应用程序?

flow

签约计划第三季

做个男人,做个成熟的男人

源字节1号

如何编写有效的FAQ常见问题页面

Baklib

分析LED透明屏VS常规显示屏优劣

Dylan

LED LED显示屏 led显示屏厂家

使用 Monaco Editor 开发 SQL 编辑器

CRMEB

云渲染平台是互联网和云计算的发展产物

Finovy Cloud

云渲染 渲染农场 渲染价格

如何设置跨域隔离启用 SharedArrayBuffer

JAVA活菩萨

Java 程序员 后端 大厂技能 大厂实践

架构实战营课程学习感受

极客土豆

理解JavaScript中的“面向对象”

珲少

数据中台建设(十一):数据中台解决方案参考与未来发展方向

Lansonli

大数据 数据中台 8月月更

为什么企业需要使用 Wiki 工具?

Geek_da0866

Kubernetes微服务Pod 影响力

CTO技术共享

开源 Kubernetes 集群 签约计划第三季 8月月更

云渲染掀起虚拟演唱会新热潮

3DCAT实时渲染

华为研究院19级研究员几年心得终成趣谈网络协议文档,附大牛讲解

JAVA活菩萨

Java 程序员面试 大厂技能 秋招 大厂面经

备份和恢复Kubernetes集群中的Etcd数据

JAVA活菩萨

Java 程序员 后端 大厂技能 大厂实践

C++深拷贝与浅拷贝,初始化列表,对象成员,静态成员相关分析

CtrlX

8月月更

混合云存储点燃万亿自动驾驶市场,加速产品落地

焱融科技

自动驾驶 AI 分布式文件存储 全闪

文盘Rust -- 配置文件解析

京东科技开发者

数据库 rust yaml 配置文件

在常州“超级虚拟工厂”,中国智造正在“原力觉醒”

脑极体

设计模式:里氏替代原理(LSP)

flow

签约计划第三季

Nacos配置中心之服务端长轮询处理机制

急需上岸的小谢

8月月更

Linux的难题,终于有解了!

Jackpop

React组件应用于Spring MVC工程

JAVA活菩萨

Java 程序员 后端 大厂技能 大厂实践

如何进行技术面试?

flow

签约计划第三季

最好的编程语言

flow

签约计划第三季

为什么互联网大厂一边疯狂裁员,一边不停招聘?

Jackpop

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