Facebook崛起背后的数据天才区域
2020-05-15 07:05 来源:秦皇岛养生网
Facebook崛起背后的数据天才
北京时间2月5日消息,目前,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使用开源软件平台HadoopHadoop可以将数据分散到商用服务器的海洋,这些机器将协同处理数据,让它们变成真正有意义的信息。这有着很强的诱惑力,因为商用服务器的价格往往相对较低,而当你的数据扩展变多的时候,你只需要添加更多的机器就可以轻松应对了。
雅虎利用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击败了他们。对于我来讲,在这里我感觉到了压力。工程师在这里希望解决更大的问题。如果你是个技术迷,那么这里就像是糖果乐园。
医学前沿鼻窦炎症状表现有哪些
许昌白癜风
-
纯种松狮位置
纯种松狮纯种松狮准备养松狮的朋友们看过来,我们都知道松狮分为纯种松狮和杂交松狮,因为它们在外形上的差别不明显,尤其是幼犬时期,那么如何挑选一条品质好的纯种松狮呢?下面分享几个挑选时要注意的...
-
纯种日本柴犬的价格价格在到位置
纯种日本柴犬的价格 价格在1300到8888元之间纯种日本柴犬的价格 价格在1300到8888元之间纯种日本柴犬的价格,柴犬在日本是国宝,而且因为它非常的灵活,可以在陡峭的丘陵上进行作业,所以是很多人心目中忠实的...
-
纯种布偶猫的外形特征及选购技巧位置
纯种布偶猫的外形特征及选购技巧纯种布偶猫的外形特征及选购技巧 布偶猫是全身特别松弛柔软,像软绵绵的布偶一样,偶猫的被毛色不多,通常以海豹重点色和三色或双色为主。该猫体型大,身体长、肌肉发...
-
约克夏怎样养保证狗狗的清洁卫生位置
约克夏怎样养 保证狗狗的清洁卫生约克夏怎样养 保证狗狗的清洁卫生约克夏怎样养,由于约克夏是一种非常可爱漂亮的狗狗,体型也比较娇小,也是一种比较好饲养的狗狗。所以喜欢这种犬的家长,不需要太担心...
-
约克夏怎么梳毛图位置
约克夏怎么梳毛?【图】约克夏怎么梳毛?【图】 15:50:49出处:络点击:1070 导读: 约克夏可是拥有一身长毛的宠物狗,毛发质地如丝般光泽柔软。当然,修长的毛发如果不...
-
约克夏犬的日常护理小方法图位置
约克夏犬的日常护理小方法【图】约克夏犬的日常护理小方法【图】 09:10:21出处:络点击:3002 导读: 约克夏是一种小型的玩赏狗。个性聪明又自信,警觉性高,友善,此外...