服务热线:400-0033-166
万商云集 - 企业数字化选用平台

企业首选的

数字选用平台

解析Facebook的大数据处理架构及应用的软件

2020-12-31 13:56:39 阅读(193 评论(0)

Facebook大数据技术架构的演进路线 Facebook一直是大数据技术中最活跃的应用程序,因为它拥有巨大的数据量。数据显示,2011年压缩数据为25PB,未压缩数据为150PB,每天产生的未压缩新数据为400TB。大数据技术广泛应用于广告、新闻源、新闻/聊天、搜索、网站安全、具体分析、报告等领域。Facebook也是Apache大数据开源项目的最大贡献者之一。Facebook于2007年左右正式转向Hadoop计算框架,随后向Apache基金会贡献了著名的Hive、ZooKeeper、Scribe、目前,Facebook的开源过程仍在积极推进,如cassandra。Facebook大数据技术架构经历了三个演变阶段。   基于Hadoop的Facebook早期大数据技术架构、HBase、Hive、基于Scribe等开源工具。日志数据流由HTTP服务器生成,通过日志收集系统Scribe传输到共享和存储NFS文件系统,然后通过小时Copier/Loader(即Mapreduce作业)将数据文件上传到Hadop。数据摘要是基于HiveSQL语言的日常流水操作,结果将定期更新到前端Mysql服务器,以便通过OLTP工具生成报告。Hadoop集群节点有3000个,可以很好地解决可扩展性和容错性问题,但早期系统的主要问题是整体处理延迟较大,从日志生成开始~2天后才能得到最终报告。   Facebook目前的大数据技术架构在早期架构的基础上优化了数据传输通道和数据处理系统,如图所示,主要分为分布式日志系统Scribe、HDFS和HBase分布式存储系统、分布式计算和分析系统(MapReduce、Puma和Hive)等。Scribe日志系统用于收集大量HTTP服务器的日志数据。Thrift是Facebook提供的跨语言服务开发的软件框架、Java、PHP、在Python和Ruby之间实现无缝支持。使用ThriftRPC调用Scribe日志收集服务进行日志数据汇总。ScribePolicy是将元数据传输给Scribe客户端和ScribeHDFS的日志流量和模型管理节点,收集的日志数据存储在ScribeHDFS中。Facebook将早期系统优化的数据通道称为DataFreway,可以处理峰值9GB/s的数据,端到端延迟在10s以内,支持2500多种日志类型。DataFreeway主要包括四个组件,Scribe、Calligraphus、ContinuscopierPTail。Scribe用于客户端,负责通过ThriftRPC发送数据;Calligraphus在中间层整理数据并写入HDFS。它提供日志类型的管理,辅助Zookeper;ContinusCopier将文件从一个HDFS复制到另一个HDFS;多个HDFS上的PTail并行tail目录,并将文件数据写入标准输出。在目前的体系结构中,一些数据处理仍然通过MapReduce批量处理,存储在中央的HDFS每天通过Hive进行分析和处理。在目前的架构中,一些数据处理仍然通过Mapreduce进行小时处理,存储在中央HDFS中,每天通过Hive进行分析和处理。另一部分接近实时的数据流通过Puma进行分钟处理。Facebook为特殊分析提供Peregrine(Hipal)分析提供Nocron工具的工具和周期性分析。   Facebook未来大数据技术架构的雏形已经出来。首先开源的是Corona,Corona可以取代Hadoop系统中的Mapreduce,类似于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集群,可以连接全球数据中心,并在数据中心停止时立即重新分布数据,这类似于谷歌的Spanner。   Facebook的大数据技术架构演变路径代表了大数据技术的发展路线。值得称道的是,开源是Facebook的一贯路线,与Yahoo等公司一起为大数据技术的发展做出了巨大贡献。Facebook使用的软件在某些方面仍然是LAMP网站,但Facebook已经做出了必要的改变、扩展和修改,以配合大量其他组件和服务。例如,Facebook仍然使用PHP,但Facebook已经重建了一个新的编译器,以满足在其Web服务器上加载本地代码的需要,从而提高性能;Facebook使用Linux系统,但为了自己的目的,也进行了必要的优化。(尤其是网络吞吐量);Facebook使用MySQL,但也优化了。还有定制的系统,比如,Haystack—存储高度可扩展的对象,用于处理Facebook的巨大图片;Scribe—Facebook日志系统。以下是Facebook在世界上最大的社交网站上使用的软件。MemcachedMemcached是一款相当有名的软件。它是一种分布式内存缓存系统。Facebook作为Web服务器和MySQL服务器之间的缓存层,也有大量的网站。多年来,Facebook在Memcached及其相关软件(如网络栈)上做了大量的优化工作。Facebook运行成千上万的Memcached服务器,借用并及时处理TB级缓存数据。Facebook拥有世界上最大的Memcached设备。与本地服务器上的代码相比,HiphopforPHP的运行速度相对较慢。PHPHop将PHP代码转换为CHP代码 编译时代码,提高性能。由于Facebook非常依赖PHP来处理信息,有了HipHop,Facebook在Web服务器方面更是如虎添翼。HipHop诞生过程:在Facebook中,一组工程师(最初是3位)花了18个月的时间研发而成。HaystackHaystack是Facebook高性能图像存储/检索系统。(严格来说,Haystack是一个对象存储,所以它不需要存储图片。)Haystack的工作量超大。Facebook上有200多亿张图片,每张图片保存在四种不同的分辨率,因此Facebook上有800多亿张图片。Haystack的作用不仅仅是处理大量图片,它的性能也是亮点。正如我们前面提到的,Facebook每秒处理大约120万张图片,不包括其CDN处理的图片数量。这是一个惊人的数据!!!BigPipeBigPipe是Facebook开发的动态网页处理系统。Facebook为了达到最佳,用它来处理每个网页的块(也称为“”Pagelets”)。例如,聊天窗口是独立检索的,新闻源也是独立检索的。这些Pagelets可以并发检索,性能也可以提高。这样,即使网站的某一部分停用或崩溃,用户仍然可以使用。CassandraCassandra是一种无单点故障的分布式存储系统。它是前NoSQL运动的成员之一,现已开源(已加入Apache工程)。Facebook用于邮箱搜索。除Facebook外,Cassandra还适用于许多其他服务,如Digg。ScribeScribe是一个灵活的日志系统,Facebook用于各种内部用途。Scribe用途:处理Facebook级别日志,一旦生成新的日志分类,Scribe将自动处理。(Facebook有上百个日志分类)。HadoopandHiveHadop是一个开源Map/Reduce框架,可以轻松处理大量数据。Facebook用于数据分析。(前面说过,Facebook的数据量是超海量的。)Hive起源于Facebook,Hive可以使用SQL查询,使非程序员更容易使用Hadoop。(注1:Hive是一种基于Hadoop的数据仓库工具,可以将结构化的数据文件映射成数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为Mapreduce任务。)VarnishVarnish是一种负载均衡的HTTP加速器,也用于缓存内容的快速处理。Facebook用Varnish处理图片和用户照片,每天处理10亿级请求。和Facebook的其他应用一样,Varnish也是开源的。Facebook可以顺利运行,这也有利于其他方面。虽然上面提到了一些构成Facebook系统的软件,但处理如此庞大的系统本身就是一项复杂的任务。因此,下面还将列出一些能够使Facebook顺利运行的东西。虽然这里不能深入*件,但*件绝对是Facebook达到前所未有规模的重要因素。例如,像其他大型网站一样,Facebook也使用CDN来处理静态内容。Facebook还在美国西部的俄勒冈州建立了一个大型数据中心,可以随时添加服务器。当然,除了前面提到的,还有很多其他的软件没有提到。但是,希望能突出其中非常有特色的。

内容来源:网络,以上内容来源于网络,不代表本站观点,如有侵权,请联系删除。

推荐阅读

新手小白怎么做自媒体

  自媒体创作者们在初期接入到自媒体的时候,因为搞不懂平台规则而触犯平台底线而被判出局,很多创作者都不知道因为什么,而发生了这种情况,只能吐槽平台对待新人的体验度不佳。下面万商云集*给大家来详细介绍一下新手小白怎么做自媒体这一块的相关内容,…查看详情

不能错过的2021完结小说排行榜

2021年刚刚过去不久,这一年诞生了非常多的优秀的小说作品,不少优秀的作品甚至火出了圈子,被改编电影电视剧的作品也很多。一千个读者心中有一千个哈姆雷特,每一个人都有自己喜欢的小说,下面是*一级的小说top5排行榜。 1.《…查看详情

视频去水印怎么去?视频去水印的软件推荐

有不少的人在看到*视频的时候,都想要将这些视频保存下来,方便离线观看或者是进行二次创作,但是有些视频保存之后会有视频水印,这个时候就影响了整个视频的制作,所以说这个时候就要去除视频上的水印,但是很多人并不知道如何来去除。那么视频…查看详情

这四款薪酬管理软件收获各大hr的好评不断,你确定不了解一下

每一家企业都需要对员工的薪酬进行统计计算,员工薪酬的主要构成部分包含了基础工资、绩效工资、额外奖励、差旅报销、经营分红等内容,企业在进行薪酬管理时,往往需要借助专业的薪酬管理软件来简化薪酬计算流程,实现奖惩有度、薪酬精确。那么,…查看详情

如何在亚马逊开店? 亚马逊开店流程详解

  以下为自注册亚马逊北美站的详细流程  一、开店资料准备与要求:  1、营业执照(注:企业或个体工商户都可以,有的人不知道个体工商户也能注册,但个体工商户营业执照不保证能通过,据说注册成功率在百分之五十以下)  2、法人身份证  3、信用…查看详情

电商系统大盘点!为你整理靠谱的北京电商系统

北京作为我国首都城市经济层次丰富,许多年轻人都会选择在北京打拼,优越的地理位置和丰富的厂家资源,让很多年轻人跻身电商行业。对于电商行业最重要的就是系统的选择,目前市场上电商系统越来越多,质量也是参差不齐,那么,该如何选择北京电商系统呢?小万…查看详情

投票系统哪个好用 免费又好用的投票系统盘点

投票系统是当下的一款推广活动小工具,当学校要评选最佳寝室需要收集各位同学的投票时,投票系统软件就派上用场了。下面是我给各位小伙伴总结的一些免费又好用的投票系统合集,有需要的朋友可以看一看。 1.简推 它是一款可以进行活动引…查看详情

国内域名注册与国外域名注册的优缺点

域名注册,有的选国内域名注册商的,也有的选国外域名注册商的,而刚有打算搭建网站的企业,在不了解一切线上情况下,在这两种域名注册选择中反复纠结。那么国内域名注册与国外域名注册到底有什么区别,他们的优缺点分别是什么? 图片来源于网络 国内外域名…查看详情

公司注册商标在哪里办理?商标注册公司怎么选择?

一家公司要注册商标通常的办理途径只有两个,要么企业负责人或者行政管理工作人员代表公司自行办理,要么就在网络寻求第三方代理机构委托办理。可往往自行办理的人对商标注册一无所知,首先遇到的问题就是:公司注册商标在哪里办理?而如果不想自行办理,需要…查看详情

window10是用什么语言编写的

  Windows10是一款由Microsoft公司开发的操作系统。它是用多种编程语言和技术开发的,包括 C++、C#、Java、JavaScript、Python等。Windows10的代码库被称作 OneCore,是一个完整的、基于…查看详情

2022年六大iphone备份软件

大家是否有过没有及时备份一些信息而消失的烦恼,这就是苹果手机的弊端,今天我就来给大家推荐几款2022年六大iphone备份软件,保证这些软件会是你所喜欢的软件,你肯定不会放弃他们,好好选择适合你的软件吧。 1.通讯录云备份…查看详情

美容院100种拓客方法

  作为一个美容院,想要拓展自己的客户数量,吸引更多的顾客,其实是有很多方法的。下面是100种拓客方法,希望对您有所帮助。  1.在美容院门口加装引人注目的招牌,比如霓虹灯或长条形招牌。  2.建立美容院网站,提供在线预约,并更新最新的美容…查看详情

实用新型专利如何转让 实用新型专利转让流程

  专利权作为一种财产权是可以转让的,受让人通过与让与人签订专利转让合同而取得专利权。那么对于实用新型专利转让流程是怎么规定的?其实很多人对这一块的流程不是很熟悉,下面*就给大家来详细介绍一下实用新型专利如何转让 实用新型专利转让流程这一…查看详情

蘑菇街美丽说的功能是什么?

快麦ERP系统有哪些功能亮点?快麦ERP支持淘宝、天猫、天猫供销平台、阿里巴巴、京东、蘑菇街、楚楚街、美丽说、微盟、有赞、苏宁易购、一号店、折800、唯品会、孩子王、拼多多、微店、贝贝网、当当、卷皮、聚美优品、国美等20多个主流电商平台。系…查看详情

ios有什么好用的软件 2022年最好用的ios软件推荐

经济不断发展,加强了各国之间的外贸联系。ios系统是运用在美国研发出的苹果手机里的一个系统,功能很强大。下面是我给大家整理推荐的6款好用的ios系统软件,想下载的小伙伴们可以浏览一下。1.med画世界它是一款非常好用的ios系统绘画软件。它…查看详情

最新文章