Facebook崛起背后的数据天才

发布者: 2013-02-18评论()
智库分享:虽然谷歌的"大数据"平台,仍然被公认为全网最领先的。但是随着Facebook开始拓展自己的网络帝国,这家社交网络巨头并没有被谷歌甩开太远,而与谷歌不同的是,Facebook希望与全世界共享它的软件。腾讯科技分享文章《Facebook崛起背后的数据天才》讲述了Facebook崛起之路上,究竟…

智库分享:虽然谷歌的"大数据"平台,仍然被公认为全网最领先的。但是随着Facebook开始拓展自己的网络帝国,这家社交网络巨头并没有被谷歌甩开太远,而与谷歌不同的是,Facebook希望与全世界共享它的软件。

腾讯科技分享文章《Facebook崛起背后的数据天才》讲述了Facebook崛起之路上,究竟有哪些顶级数据天才、顶尖数据技术的支持。

目前,Facebook已经发展成为全球最大的社交网络,拥有超过10亿活跃用户。九年的成长历程中,Facebook不仅仅遇到了一般公司发展过程中常见的麻烦,也因为巨大的用户数量级,遭遇更多常人难以想象的"大数据"。Facebook崛起之路上,究竟有哪些顶级数据天才、顶尖数据技术的支持呢?以下是文章全文:

杰伊·帕瑞克(Jay Parikh)的办公桌,就放置在美国加州门洛帕克(Menlo Park)Facebook总部16号楼里,而他的行政助理吉尼·萨穆埃尔(Genie Samuel),就在离他不远的地方工作。每隔一段时间,帕瑞克都会听到萨穆埃尔咯咯地傻笑,而这就意味着,她很有可能又在Facebook上传了一些令人尴尬的照片,并且将帕瑞克标记了出来。通常情况下,帕瑞克自己Facebook页面上的通知,总会紧跟着她的笑声浮现。而如果通知没有如约而至的话,他就可能就要忙碌起来了。

帕瑞克是Facebook基础设施工程部门的副总裁,负责这个全球最大社交网络的硬件和软件。如果页面上的通知,没有在几秒钟之内直接快速出现,那么他就要仔细检查自己的工作,然后努力找到造成这种情况的原因了。麻烦的是,Facebook的基础设施,已经扩展到全球四个不同的地方,四个大型数据中心,数十万台计算机服务器,除此之外,还有更多的软件工具--深深吸一口气,你也很难在不间断的情况下,说完它们的名字。而导致通知未能出现的原因,就埋藏在这个网络的某一个角落中。

这就是为什么帕瑞克和他的团队,会打造像Scuba这样的工具。Scuba是一个具有划时代意义的软件平台,它可以帮助Facebook的工程师们,及时对公司基础设施数据进行挖掘分析。通常情况下,处理如此海量的数据是需要耗费些时间的。你甚至可能需要几个小时的时间才能处理完所有的事情。不过,对Scuba来说这就不再是问题,它是一种(in memory)内存式的数据存储--将所有的数据,存储在数百个计算机服务器高速内存中(而不是硬盘)--这意味着你可以更实时地进行数据查询。

帕瑞克表示:"它让我们能够了解基础设施工作情况--我们的服务器做得如何,我们的网络表现如何,不同地软件系统交互的如何。所以如果吉尼在一张照片中标记了我,而通知在几秒钟之内都没有显现,我们就可以查看Scuba来查找问题。"

九年之前,马克·扎克伯格(Mark Zuckerberg)在哈佛的宿舍里推出了震惊世界的Facebook,而现在它已经一举发展成了世界上最流行的社交网络。扎克伯格和他的公司,建立了这个星球上最先进的工程业务,而有趣的是,他们这样做的主要原因实在只是由于迫不得已。Facebook面临着一个独特而艰巨的任务--服务10亿个不同的用户,并且要去处理10亿个不同的消息、照片、视频,以及很多其他的数据源--这一任务对的技术要求,比你想象的还要多。

是的,Facebook的工程大军中,不乏像拉尔斯·拉斯穆森(Lars Rasmussen)这样,创作了社交搜索工具Graph Search的天才,也有帮助美化工具、测试、部署应用程序的人。而现在,Facebook的硬件工程师,也拥有像阿米尔·迈克尔(Amir Michael)这样的天才,他们负责服务器设计、存储设备以及整个数据中心管理。

Facebook还打造了一个,由顶级工程师组成的数据处理团队--这项工作在现代网络中的重要性,已经日趋明显。Scuba仅仅只是Facebook众多"大数据"(Big Data)软件平台的冰山一角--利用分布式系统,让数百上千个计算机上,可以协同分散处理一个单一的任务。

包括拉古·穆尔蒂(Raghu Murthy),艾弗里·清(,Avery Ching),约什·梅茨勒(Josh Metzler)在内的工程师们,打造了这些出色工具。它们不仅仅能够排除Facebook数据中心内的故障,还能帮助Faccebook数据科学家,分析Facebook的在线应用的有效性,以及用户的行为。

虽然谷歌的"大数据"平台,仍然被公认为全网最领先的。但是随着Facebook开始拓展自己的网络帝国,这家社交网络巨头并没有被谷歌甩开太远,而与谷歌不同的是,Facebook希望与全世界共享它的软件。谷歌总是在分享自己的想法、思路,而Facebook则是在分享自己的代码,并希望其他人能够好好利用。帕瑞克表示,"我们公司的使命,是让全世界连接在一起,并且变得更开放。而在我们进行基础设施建设的同时,我们也在帮助促进达成这一使命。"

News Feed的故障

Facebook数据团队的创始人,叫作杰夫·哈梅巴赫(Jeff Hammerbacher)。与扎克伯格一样,哈梅巴赫也曾经是哈佛的一名学生,不过他的专业是数学。在2006年春天接受Facebook的工作之前,他曾在纽约贝尔斯登(Bear Sterns)担任数据科学家一职。

哈梅巴赫认为Facebook的数据操作灵感,要追溯到一天下午,那时他还在贝尔斯登,路透社的数据订阅(data feed)突然出现了故障。而犹豫数据订阅瘫痪,没有人能进行交易。故障持续了一个钟头,而造成问题的原因,让人有些哭笑不得

--负责这项任务的那个家伙,出门吃了个午饭。

哈梅巴赫突然意识到,这次严重的故障证明,数据工具的重要性丝毫不亚于数据专家。哈梅巴赫回忆说,"我突然发现了一个空白--需要创建一个完整的系统,采集数据,并且全部跑完整个数据模型--在每一个点上,尽可能优化系统。"

这基本上简单地概括了他在Facebook的工作。Facebook最初聘请他,是作为一名数据科学家--帮助通过信息分析理解公司运作。但是由于路透数据订阅失误,给他留下了深刻的印象, 哈梅巴赫更近一步。

他打造了一个团队,管理整个公司的数据。这一团队不仅分析数据,还创建并运行一个负责收集、处理数据的工具。

他刚加入Facebook的时候,这家公司还在使用老旧的甲骨文(Oracle)数据仓库处理信息。但是这样的软件设计,已经无法跟上Facebook迅速发展的脚步。

哈梅巴赫还推荐Facebook使用开源软件平台Hadoop--Hadoop可以将数据分散到商用服务器的海洋,这些机器将协同处理数据,让它们变成真正有意义的信息。这有着很强的诱惑力,因为商用服务器的价格往往相对较低,而当你的数据扩展变多的时候,你只需要添加更多的机器就可以轻松应对了。

雅虎利用Hadoop构建了网络搜索引擎索引,但是哈梅巴赫和Facebook,则把它用作了帮助公司数据科学家的方法--能够比甲骨文的数据仓库,处理更大量的信息。

而Facebook还研究了一个叫作Hive(蜂巢)的产品--分析师可以应用这一工具,使用一种与结构化查询语言(SQL)相似的语言,处理Hadoop上的数据(SQL早在20世纪80年代以来,就得到了广泛应用)。而Hive也很快发展成为了Facebook主要的在线广告性能分析工具。

2008年秋天,哈梅巴赫离开了Facebook,并帮助创建了Cloudera公司。

未来的Hadoop

现在,无论是Twitter还是eBay或是LinkedIn在使用Hadoop,而Facebook则将这一分布式系统基础架构上升到了新的极致。并且,Hadoop正致力于将此服务平台做到极致。基础设施负责人杰伊·帕瑞克曾表示,Facebook运行着世界上最大的Hadoop计算机集群。Facebook的Hadoop集群中的一个,就涉及了超过4000台机器,存储着超过100PB(petabytes)字节的数据,也就是数百万gigabytes的数据。

这个集群是非常庞大,甚至已经超越了四个数据中心。Facebook使用Hadoop服务器来分配分布于各离散数据中心的数据空间,使每次的寻址过程自主进行。Facebook工程师拉古·穆尔蒂说。"我们的规划总是目光长远的,但是,我们必须通过这个过程,将所有数据迁移到新的地方去。"几年之前,拉古·穆尔蒂还在完成斯坦福大学Ph.D.项目的时候,被杰夫·哈梅巴赫;目前为止,他作为Facebook大数据业务团队的中坚力量,已工作四年有余。

Facebook信誓旦旦地表示绝不会再犯类似的错误,于是开始着手建立一个跨越多个数据中心的Hadoop集群。该项目由穆尔蒂负责,他曾经参与搭建雅虎(Yahoo)的pre-Hadoop分布式计算系统,并吸引到了哈梅巴赫的注意。如今,穆尔蒂已经参与过,包括Hive在内的许多Facebook的重要项目的研发。但是,这还是有些许不同--Hadoop的设计并没有考虑多设备之上运行情况。通常情况下,由于需要服务器之间的高负载通信,集群被限制在了单一数据中心。

穆尔蒂和他的团队成员,在整个Facebook地基础设施上,推出了一个叫作Prism平台。典型的Hadoop集群,通常是由单一的"命名空间"(namespace)管理,但是Prism则开辟出多个命名空间,在一个相同的物理集群之上,创造了很多"逻辑集群"。

这些"命名空间"可以划分给不同的Facebook团队,这样每一个团队都能够得到属于自己的命名空间,不过仍然全都在使用同一个数据集,而这个数据集可以跨越多个数据中心。这里的诀窍是,当一个团队运行一项工作的时候,它可以复制这项工作所需要的特定的数据,并且把它移进一个单一的数据中心。穆尔蒂表示,"我们将这些能力下放到独立的小团队,因为他们能够更好的了解网站特殊部分的独特需要。"

根据穆尔蒂,这一系统理论上,可以扩展到无限多个服务器上。这意味着,Facebook不必再去担心,需要打造另一个新的数据中心了。对于数据团队的托斯来说,这意味着他能够保证这一基础设施平稳运行--这有一个额外的好处,他表示,"把整个Hadooop集群放在一个数据中心中,让我害怕极了,而Prism能够帮助在这一点上提供帮助。"

Prism只是众多扩展Hadoop的努力中的一个。前任雅虎雇员艾弗里·清带领的团队,最近刚刚部署了一个新的叫作Corona的平台,允许多个工作,在一个单一的Hadoop集群之上,而并不会导致崩溃。

穆尔蒂还帮助建造了一个叫作Peregrine的工具,能够让查询Hadoop数据的速度比标准情况快很多。Hadoop的设计初衷是一个"批处理系统",这意味着,通常需要在运行作业的时候进行等候,但是和Impala相似的是(一个由哈梅巴赫和Cloudera创建的系统),Peregrine可以让平台更接近实时。

Facebook并没有与外界共享所有的软件,但是却分享了Corona,而如果以此作为习惯参考,它很有可能会在未来分享更多的代码。这就是为什么像艾弗里这样的工程师会在这里工作,"在Facebook,我们比起他人更早地遇到问题,而其他人就可以从中受益,他们不需要重蹈覆辙,也不需要重头再来。"

数据天才们的糖果乐园

Hadoop是Facebook数据操作的基石,这种情况还将延续很多年。但是随着Scuba等工具的兴起,Facebook也将转投新的方向。

Scuba是一款正在快速增长的内存数据储存工具,设计的主要目的是为了极大的提高数据信息分析的速度。这款工具是由Facebook公司的工程师团队开发的,该团队中包括一位在顶级编程网站Top Coder上,排名第一的工程师约什·梅茨勒。Scuba在Facebook的数据中心中运行,帮助该公司收集基础设施的信息,并这些log压缩在数以百计的服务器内存中。所以,这些数据可以被即时查询到。

帕瑞克表示:"这就像Excel的数据透视表一样。即使你在处理数以百万计的数据,你也可以在亚秒级的响应时间里得到结果。"

是的,这个项目看起来似乎与Peregrine有些重叠--至少在一些部分上存在重复。但就像杰夫·哈梅巴赫指出的,这款工具是Facebook精神的一部分。"Facebook做事的方式,就是寻找最短路径的解决方案,而并非打造一款大而全的系统,来处理所有问题。"就像Facebook的其他项目一样,Scuba是在公司级的黑客马拉松(hackathon)中脱颖而出的。工程师遇到问题就自己解决,而非等到其他项目来帮他们解决问题。

这种情况在Facebook中随处可见。Santosh Janardhan曾就职于PayPal和YouTube,但是在他眼中,这些公司的工作相比之下非常微不足道。"Facebook击败了他们。对于我来讲,在这里我感觉到了压力。"工程师在这里希望解决更大的问题。"如果你是个技术迷,那么这里就像是糖果乐园。"

财富成都编辑部提示:智库分享栏目文章,为财富成都智库、专栏作者及资深会员撰写或推荐分享的内容,目的在于促进投资、创业者们的交流和发展。好东西大家共分享将更具价值。财富成都智库欢迎就此话题撰写、分享更多商业智慧。如果因此侵害了作者本人或相关方的意愿,请您及时告知,我们将暂停分享。(编辑:雷伟萱)

您可能还感兴趣的文章

参与讨论,请先登录| 注册

新浪微博快速登录腾讯QQ快速登录

文明上网,理性评论 | 欢迎您,
网友评论仅供其表达个人看法,并不表明财富成都立场。 
最大支持255个中英文字符 
全部评论() 最新评论
官方微信
微信扫描二维码
获得每日精选资讯
官方微博

更多>>最新资讯
社会内卷的真正原因是啥?
社会内卷的真正原因是啥?

内卷这个概念的内涵很丰富,与我们的生活息息相关。为了普及和传播知识,我参考了相关的信息,把我个人的粗…

为什么90后、00后不服管?可…
陈春花:企业需要具有增长型思维…
沈南鹏:带着公益心去投早期
科创板公司参与设立产业基金 上…
迪士尼为何能不断打造深受喜爱的…

广告位空缺中,如有需求请联系站长

更多>>热门资讯
5G时代的通信会有哪些颠覆性创…
5G时代的通信会有哪些颠覆性创新?

对于行业来说,5G+也许会带来很好的投资机会。

寒冬?产业互联网的春天才刚刚开…
史玉柱:所谓的“成功学”,都是…
数字化时代,管理者最重要的事情…
制造业要不要来西部?
大数据营销不能自作聪明!
推荐服务Recommend Service
深入财富成都
创业交流
交流站
案例
人物
故事
新蓉商
智库分享
专栏
TA说
分享
成都头条
快报
奢华人生
热点话题
读图
财富论坛
最新动态
关注500强
孵化器
官方发布
天府新区
天府快讯
政策
组团
会员服务
智慧社区
推荐服务
合作伙伴
帮助中心
关于我们
RSS订阅
网站地图
加入我们
寻求合作
寻求报道
常见问题解答
投资项目库快捷导航
[{"url":"http:\/\/www.chengduvip.cn\/","img":"http:\/\/chengduvip.cn\/data\/upload\/photo\/Banner\/2022\/11\/b\/638079e33bb0f.png"}]