Facebook大数据技术架构的演进路线

标签: 技术荟萃 | 发表时间:2013-10-31 10:30 | 作者:黄言之
出处:http://blog.sina.com.cn/netreview

    Facebook一直是大数据技术最积极的应用者,因为它拥有的数据量极其巨大,一份资料显示2011年它拥有的压缩数据已经有25PB,未压缩数据150PB,每天产生的未压缩的新数据有400TB。在Facebook,大数据技术被广泛应用在广告、新闻源、消息/聊天、搜索、站点安全、特定分析、报告等各个领域。Facebook也是Apache大数据开源项目的最大贡献者之一。Facebook是2007年前后正式转向Hadoop计算框架,随之它向Apache基金会贡献了大名鼎鼎的Hive、ZooKeeper、Scribe、Cassandra等开源工具,当前Facebook的开源进程仍在积极推进着。Facebook大数据技术架构经历了三个演变阶段。

    Facebook早期的大数据技术架构是建立在Hadoop、HBase、Hive、Scribe等开源工具基础上的。日志数据流从HTTP服务器产生,通过日志收集系统Scribe耗费秒级时间传送到共享存储NFS文件系统,然后通过小时级的Copier/Loader(即MapReduce作业)将数据文件上传到Hadoop。数据摘要通过每天例行的流水作业产生,它是基于Hive的类SQL语言开发,结果会定期会更新到前端的Mysql服务器,以便通过OLTP工具产生报表。Hadoop集群节点有3000个,扩展性和容错性方面的问题能够很好地解决,但是早期系统的主要问题是整体的处理延迟较大,从日志产生起1~2天后才能得到最终的报表。

    Facebook当前的大数据技术架构是在早期架构基础上对数据传输通道和数据处理系统进行了优化,如图所示,主要分为分布式日志系统Scribe、分布式存储系统HDFS和HBase、分布式计算和分析系统(MapReduce、Puma和Hive)等。

image

Facebook大数据技术架构的演进路线

    其中,Scribe日志系统用于聚合来自大量HTTP服务器的日志数据。Thrift是Facebook提供的软件框架,用于跨语言的服务开发,能够在C 、Java、PHP 、Python和Ruby等语言之间实现无缝的支持。采用Thrift RPC来调用Scribe日志收集服务进行日志数据汇总。Scribe Policy是日志流量和模型管理节点,将元数据传送给Scribe客户端和Scribe HDFS,采集的日志数据存储在Scribe HDFS。Facebook对早期系统优化后的数据通道称为Data Freeway,能够处理峰值9GB/s的数据并且端到端的延迟在10s以内,支持超过2500种的日志种类。Data Freeway主要包括4个组件,Scribe、Calligraphus、Continuous Copier和PTail。Scribe用于客户端,负责通过Thrift RPC发送数据;Calligraphus在中间层梳理数据并写到HDFS,它提供了日志种类的管理,利用Zookeeper进行辅助;Continuous Copier将文件从一个HDFS拷贝到另一个HDFS;PTail并行地tail多个HDFS上的目录,并写文件数据到标准输出。在当前架构中,一部分数据处理仍然以批处理的方式通过MapReduce进行小时级的处理,存储在中央的HDFS,每天通过Hive进行分析处理。另一部分接近实时的数据流则通过Puma来进行分钟级的处理。Facebook对专门分析提供Peregrine(Hipal)工具、对周期性分析提供Nocron工具进行分析。

    Facebook未来的大数据技术架构的雏形已经出来。首先开源的是可能替代Hadoop系统中MapReduce的Corona,类似于Yahoo提出的YARN。Corona最大的一个进步是其集群管理器做到了基于CPU、内存和其他作业处理的需求资源的管理,这可以使得Corona既可以处理MapReduce 作业,也可以处理非MapReduce 作业,使Hadoop集群的应用领域更加广泛。二是Facebook最新的交互式大数据查询系统Presto,类似于Cloudera的Impala和Hortonworks的Stinger,解决了Facebook迅速膨胀的海量数据仓库快速查询需求。据Facebook称,使用Presto进行简单的查询只需要几百毫秒,即使是非常复杂的查询,也只需数分钟便可完成,它在内存中运行,并且不会向磁盘写入。第三是Wormhole流计算系统,类似于Twiitter的Storm和Yahoo的Storm-YARN。第四个重要项目是Prism,它能够运行一个超大的、能够将全球数据中心都连起来的Hadoop集群,可能在一个数据中心宕掉的时候即时的将数据重新分布,这是一个与Google的Spanner类似的项目。

    Facebook的大数据技术架构演进路径代表了大数据技术的发展路线,难能可贵的是,开源是Facebook一贯的路线,它和Yahoo等公司一起为大数据技术的发展作出了巨大贡献。

 

本文内容节选自北京赛智时代信息技术咨询有限公司(CIOManage咨询)的《2013-2014年中国互联网行业大数据应用年度研究报告》。

新浪官方微博:@赛智时代 期待关注!

个人微博:@赵刚

公司网站: http://www.ciomanage.com


  青春就应该这样绽放   游戏测试:三国时期谁是你最好的兄弟!!   你不得不信的星座秘密

相关 [facebook 大数据 技术] 推荐:

Facebook大数据技术架构的演进路线

- - 互联网旁观者
    Facebook一直是大数据技术最积极的应用者,因为它拥有的数据量极其巨大,一份资料显示2011年它拥有的压缩数据已经有25PB,未压缩数据150PB,每天产生的未压缩的新数据有400TB. 在Facebook,大数据技术被广泛应用在广告、新闻源、消息/聊天、搜索、站点安全、特定分析、报告等各个领域.

解剖 Facebook 【5】说到 Facebook 的技术,很多人摇头

- Frank - 爱范儿 · Beats of Bits
Facebook CEO,扎克伯格(Mark Zuckerberg),这几天低调访华. 今天(2010/12/20)去位于北京上地的百度总部,拜会百度 CEO 李彦宏,并共进午餐. 说到 Facebook 的技术,很多人摇头,认为 Facebook 技术无亮点. Facebook CEO 拜会百度老总李彦宏,2010/12/20.

生物技术的Facebook在哪里?

- - 生物技术创新创业
这几天华尔街报上,或者其它有关金融的广播,报刊都大幅报道Facebook将要上市的故事,市值可能一千亿美金. 有人说它不值那么多钱,按照这个估价,Facebook需要在今后十年每年增长30%. 先不去管它是否值,我更关心的是 象这样的公司为什么在生物技术行业不常见. 喊得很响的罗氏收购Illumina的案例也不过六七十亿,为什么有这么大的差异.

Facebook“三棱镜计划”有助于解决大数据问题

- - 行业资讯
  据国外媒体报道,当前,无数网站正面临着如何高效管理海量在线数据的问题,而这一问题在5年前也同样困扰着Facebook. 但是,根据Facebook技术专家杰-帕里克(Jay Parikh)的说法,人们没有必要过分担忧这些问题. Facebook的“三棱镜”计划(腾讯科技配图).   这是因为在过去几年,许多互联网的巨型公司(包括Facebook)搭建了大量的软件平台,并通过数以万计的分布式服务器来解决在线信息爆炸的问题.

Big Data(大数据)技术简析

- - 服务器运维与网站架构|Linux运维|互联网研究
Big Data是近来的一个技术热点,但从名字就能判断它并不是什么新词. 历史上,数据库、数据仓库、数据集市等信息管理领域的技术,很大程度上也是为了解决大规模数据的问题. 被誉为数据仓库之父的Bill Inmon早在20世纪90年代就经常将Big Data挂在嘴边了. 然而,Big Data作为一个专有名词成为热点,主要应归功于近年来互联网、云计算、移动和物联网的迅猛发展.

大数据:方法与技术

- - 透明思考 - Thoughts
(商业读书会第23期的题目:Big Data. McKinsey Quarterly 的,和一篇. 通篇无非就是在讲(1)数据真的很大;(2)各行各业都要学会处理大数据. 于是 另一篇文章 进入视野. 不过最精彩的还是麦肯锡的 分析报告 ,其中最吸引我的是“方法和技术”的部分. 关于“怎么做”的这部分,麦肯锡的报告里分成三个部分:分析方法;技术;可视化展现.

下一代大数据分析技术

- - Parallel Labs
原文发表于《程序员》杂志2013年第2期.. 随着以Hadoop为代表的大数据分析技术的普及,大数据的商业价值得到深入挖掘,并开始在互联网、零售、医疗、物联网等多个行业里成为商业变革的主导力量. Facebook最近就发布了名为Graph Search的新型社交搜索产品,基于海量的社交关系网络及“Likes”行为数据,为用户提供个性化的社交搜索服务,该产品被认为将是Google搜索业务的重要竞争对手.

名站技术分析 — facebook奇特的页面加载技术

- Hui Hui - 视野
没事使用代理上了下facebook,注册进入个人首页后,习惯性的查看源代码,发现了1个很有意思的现象,首页内容不少,但源代码中HTML的代码却很少,但去多出了很多段的javascript代码,这些js代码都是用于动态生成html的,facebook为什么需要这样做了. 先看看首页查看的源代码,因为源代码比较大,所以把图片压缩了下,可能看不太清楚,只需要注意图中红色是html代码,其余黑压压一片的就全部是JS代码:.

Facebook 与微软新合作:PhotoDNA 技术识别色情照片

- loverty - LiveSino - LiveSide 中文版
纽约时报报导称,微软与 Facebook 周四宣布了一项新的合作. 社交巨头 Facebook 将利用微软研究院的 PhotoDNA 技术来识别在线照片中的儿童色情照片,即便是修改或裁剪过的. 去年,微软已经在其 Windows Live SkyDrive、Hotmail、Bing 等服务中测试了 PhotoDNA 技术.

Facebook开始采用WebSense安全浏览保护技术

- bill - cnBeta.COM
Facebook今天宣布使用Websense ThreatSeeker云服务,这有助于保护用户在点击社交网站上人们共享的链接时不背恶意软件所滋扰. 这个黑名单服务托管了大量恶意软件地址的样本,在发现用户点击的Facebook链接可能包含恶意软件时会自动阻止并跳出警示要求注意.