写点什么

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

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

关注

评论

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

2020我的-Android-年中面试复盘:怎么挤进一线大厂?需要掌握些什么

android 程序员 移动开发

模块二作业:微信朋友圈复杂度分析

赵先生

架构实战营

2020这一年的Android面经汇总(百度、腾讯、滴滴,职场中的中年危机

android 程序员 移动开发

2020非科班生的Android秋招,金九银十求职经历 (快手,android游戏开发实践指南

android 程序员 移动开发

2021Android性能优化总结最新、最全面、最完整的资料,大厂内部资料

android 程序员 移动开发

2021最新Android必备面试题,上海大厂Android面试经历

android 程序员 移动开发

2020年,Android技术人如何实现自我成长?,带你碾压面试官

android 程序员 移动开发

2020适合中高级工程师的面试题——java基础,移动网页开发框架

android 程序员 移动开发

2021 年 9 月美团 Android 面试总结,flutter屏幕旋转监听

android 程序员 移动开发

2021最新整理大厂Android面试高频知识点,阿里高级算法专家公开10份资料

android 程序员 移动开发

2020我的坑爹Android面试经历,(百度,android路由器

android 程序员 移动开发

2021年最新Android开发岗面试笔试总结,android开发视频播放器

android 程序员 移动开发

3-5年以上的Android原生开发如何深入进阶?高级工程师必须要掌握哪些?(1)

android 程序员 移动开发

3-5年以上的Android原生开发如何深入进阶?高级工程师必须要掌握哪些?

android 程序员 移动开发

2020最新中高阶Android面试题总结-下(附解题思路),androidwifi开发框架

android 程序员 移动开发

2020最新Android大厂高频面试题解析大全(BAT TMD JD 小米)(1)

android 程序员 移动开发

2020最新Android大厂高频面试题解析大全(BAT TMD JD 小米)

android 程序员 移动开发

2021年Android开发的前景如何?,安卓面试题及答案

android 程序员 移动开发

2020年的大厂末班车!啃完这些资料,我拿到了字节跳动Android高级开发工程师的offer

android 程序员 移动开发

2021想进阿里?送你一份 40000 字《阿里进阶指南,android音视频编解码

android 程序员 移动开发

2020最新Android大厂面试真题大全(附答案),移动应用开发的前景

android 程序员 移动开发

2021年之Android面经分享(已获头条、顺丰,androidapp开发工具

android 程序员 移动开发

2021程序员熬夜加班,28岁大病一场后被裁看清生活真谛,kotlin协程的实现原理

android 程序员 移动开发

2020年末知识大总结:Java程序员转Android开发必读经验一份

android 程序员 移动开发

2021了,为什么说音视频技术是技术风口?Android音视频开发这么吃香

android 程序员 移动开发

2021字节跳动,金三银四内幕Android中高级面试题合集-令人细思极恐!

android 程序员 移动开发

2579页阿里P8Android学习笔记在互联网上火了,完整版开放下载

android 程序员 移动开发

27道 Handler 经典面试题,你能答出多少?,关于Android程序员最近的状况

android 程序员 移动开发

2020阿里P8单写给Android程序员的建议:这样的offer不能要啊!注意避坑

android 程序员 移动开发

2021年3月份Android 面经总结!(OPPO和腾讯等大厂,android底层开发百度网盘

android 程序员 移动开发

2020应届毕业生,Android春招总结,已入职小米,深入解析android核心组件和应用框架

android 程序员 移动开发

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