Facebook的海量数据架构演变之路
发布时间:2023-02-15 12:57:32 所属栏目:大数据 来源:互联网
导读:Facebook的集群存储了30千万亿字节的数据,大概是美国国会图书馆存储信息数量的3000倍。Facebook数据中心在过去一年里增长了三分之一还多。 今年4月份,Facebook耗资4.5亿美金建设的新数据中心也已经投入使用。 从2007年到2011年,Facebook的大数据处理架构
Facebook的集群存储了30千万亿字节的数据,大概是美国国会图书馆存储信息数量的3000倍。Facebook数据中心在过去一年里增长了三分之一还多。 今年4月份,Facebook耗资4.5亿美金建设的新数据中心也已经投入使用。 从2007年到2011年,Facebook的大数据处理架构是如何演变的?在一个变动异常频繁,并且快速增长的环境里,都要面临哪些挑战?Facebook使用了一些组件和技术,让公司大部分部门都可以根据不同的目的访问、分析、使用数据,背后的驱动力是什么?前Facebook数据基础设施团队主管、Apache Hive项目联合创始人,Qubole创始人兼CEO Ashish Thusoo在本演讲中给我们一一解答了这些问题,同时介绍了从Facebook的经验中的一些重要收获。 今天跟大家谈一下在Facebook大数据的基础架构演变,讲得都是我在Facebook的经验和项目。从中也许有一些经验跟大家分享。 我目前是Qubole公司的联合创办人和CEO,在Facebook以前是管理基础设施团队的,简单介绍一下,我在这段时间学习到的一些经验。07到2011年在Facebook公司的经验,同时在Apache Hive07年到08年项目我也是创办人。 首先谈一下在Facebook大数据的范围与规模。我们的规模有多庞大?做了哪些事情和应用?同时,把这些工具和应用用在哪一类上面。 第二,Facebook架构的演变,07到11年的演变过程。 最后,简单介绍一下在Qubole的工作。 除此以外,在使用海量数据,用数据进行大量的分析工作,平均每秒钟有一个新增的研究项目启动。同时,对于海量数据还有非常快速的研究,所以我们有许多的应用,也有简单的数据,比如说简单的报告应用,一些统计功能,比如说页面的浏览量有多少,用户都有哪些数据。用一些比较先进的方法,比如说模型的建立,我们应该在市场营销的时候针对哪些用户?或者我们怎样让某种用户增加兴趣,怎么吸引某一类的用户?我们可以做这种临时的分析和数据科学。也就是说,从数据当中寻找一些规律,比如说通过这种规律来看一下我们该怎样去接触我们的用户,怎样让用户提高对我们的内容的兴趣,在数据集群上,也会做这样分析的工作。另外,还有一些应用,比如说一些用户的推荐,你可能认识某些人,可以推荐它来推荐应用。 有许多有用的用地被用于海量数据上。包括扫描这么多的数据进行分析、进行数据的工程、数据的科学,这是现在大数据的范围。 举一个具体的例子,现在Facebook也在做这种A/B测试,这个例子向我们表明了数据可以带来多么大的威力。很多时候我们做决定之前会根据这个分析来做决定。 还有一些时候发现数据可以告诉我们一些东西,比如说在具体的案例里面,有一个A/B测试,发了一个电子邮件给用户参与网络,这个邮件里面有非常多的内容,有图片以及这个领域的相关信息。 第二封邮件里面是简单的一句话,希望用户采取行动。看上去第一个邮件给别人更多的信息,告诉他们我们这个项目价值在哪里,能够感兴趣。希望能够参加这个项目。但是,我们却发现这些用户他们在使用邮件之后,发现第二个电子邮件吸引用户参与效率方面是第一封邮件的三倍。这是一个具体的用户的案例,用在用户身上影响到用户使用的参与程度。不仅仅讲得传统工作,还有其他的应用。 另外一个例子,有一张图片来自于集群里面的数据,现在看到的这个图不是做的影射,而是通过不同连接产生的。这个图上看到这个人Facebook上面朋友之间的联系强度怎样,可以把这些联系放在一起,看上去像世界地图一样。从现在架构能够实现这样的连接,原来使用过去的架构完全做不到这一点的。可以上博客上看这方面的信息,把Facebook的人脉进行出来。 所有的数据必须要到后端的数据库,2007年主要用的甲骨文单节点的数据服务器,确实是有自己的一些限制,稍候会给大家讲一讲限制在哪里。 该怎样收集数据呢?如果要收集数据的话,使用的是一种开源项目,Facebook开源项目的日志系统,收集不同来自于网络集群的日志。比如说,用的是阿帕奇架构也会形成一些应用的日志,或者其他的架构会生成一些日志,这些日志通过Scribe收集起来,我们使用它来存储日志。日志被存储了,数据被收进来了,放在NAS的存储器里面。NAS是所做一切的基础,从网络集群到中间的日志收集系统,一直到NAS,要在NAS文件存储器里面对所有的信息做一览式的回顾,接着做汇总。在自主、自己的机器上自己研发出来的装载在服务器的基础上进行汇总和归集,最后存储在数据仓库里面,这就是我们的基础架构。NAS主要是把还没有用的或者重复的信息把它丢弃掉。我们会有一些Summarization帮助总结。很小一部分在线上的,很大一部分是线下的,线上的存储器里面没有太多的数据。 (编辑:莱芜站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |