解析Facebook的大数据处理架构及应用的软件
2020-12-31 13:56:39 阅读(178) 评论(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还在美国西部的俄勒冈州建立了一个大型数据中心,可以随时添加服务器。当然,除了前面提到的,还有很多其他的软件没有提到。但是,希望能突出其中非常有特色的。
推荐阅读
- autodesk material library可以卸载吗
Autodesk桌面应用程序有什么用,能卸载吗?Autodesk桌面应用程序这个软件其实没什么用!可以卸载! 1.退出Autodesk桌面应用程序:在系统托盘中,右键单击。单击“退出”。 2.卸载Autodesk桌面应用程序:依次单击“…查看详情
- 苏宁易购和京东商城有什么不同点?
京东买手机靠谱还是苏宁易购靠谱?个人肯定是建议买京东,因为京东的售后服务,物流配送都会非常的快,苏宁相对于京东来说,已经算一个比较小的平台,而且配送服务基本上属于外包给第三方的快递公司,配送质量和配送速度都没有保障。但话也不能说绝对很多时候…查看详情
- 推广在哪个平台推比较好?这些平台可以尝试一下
相信很多创业者都存在这样的困扰,有了项目,有了产品,却不知道怎样能让市场快速接受,正所谓“酒香也怕巷子深”,下面小编就来盘点一下推广在哪个平台推比较好这一块的内容。希望能帮助到大家!网络处处能推广,关键在于找到一个适合自己的方式,以下为…查看详情
- html怎么设置网页背景
如何在html中插入整个页面的背景图?用Dreamweaver软件编辑 一、打开Dreamweaver,然后选中html,出来了一个html标准文档。 二、在在html中插入整个页面的背景图?在html中插入整个页面的背景图的方法如下:…查看详情
- mybatis和hibernate的区别
mybatis缓存分类及实现方法?Mybatis与Hibernate一样,支持一二级缓存。一级缓存指的是Session级别的缓存,即在一个会话中多次执行同一条SQL语句并且参数相同,则后面的查询将不会发送到数据库,直接从Session缓存中…查看详情
- 2021抖音最火音乐排行榜,看有哪些是你熟悉的BGM
个别音乐歌曲备受人民群众的钟爱,在众多软件快速最火了起來,成为人人皆知的音乐歌曲,那些音乐歌曲促进了身边的开场,使人们多了点欢乐,接下去的几首歌音乐歌曲,喜爱音乐歌曲的网民适合关注起來!1.《爱人错过》是潘云安、告五人一同协作成功的一首歌,…查看详情
- efi系统分区有什么用
EFI(Exte1ibleFirmwareInterface)系统分区是计算机硬盘上的一小块空间,用于存储引导和固件配置信息。EFI系统分区:简化引导和提供固件配置 在现代计算机系统中,EFI系统分区起着至关重要的作用。它不仅简化了操作系统…查看详情
- 2017第六届蓝海基业BOSS会晚间新闻
经过120天的不懈努力,来自全国各地的英雄们克服无数艰难险阻,终于在11月1日,胜利会师总部成都,正式开启了第六届蓝海基业BOSS的旅程。 极具科技感的签到,正式拉开了本届BOSS会的序幕。 短暂休整过后,就开启了今天的重头戏——“秋实之约…查看详情
- 随机抽号app
有没有软件可以。我自己输入几个数字,然后随机选数字的软件啊?可以试一下这款抽号软件,由本人自主开发,Win8风格,多种抽取模式,系统设置里面可以任意修改抽取范围。希望你喜欢。在手机上如何设置随机抽号?登录交管12123APP,在【业务中心】…查看详情
- 如何选择简单的crm系统?这几款可以参考
随着crm系统带来的管理和销售效率,越来越多的企业开始引进crm系统。然而每个crm厂商的侧重点与目标客户群体的不同,企业在选择crm时容易混淆,不仅怕复杂的crm系统无法操控,还怕花了冤枉钱,所以接下来小万为大家介绍2019年最受欢迎的简…查看详情
- 制作图片的软件app哪个好?制作图片的软件app推荐
平时用到图片的时候就应该要对图片进行制作,通过制作才会让整个图片变得更加精致,才能够得到更好的使用,效果也是比较好的,所以说制图软件一定不能少。平时的时候使用手机的频率比较多,所以说下载一款制作图片的软件app也是非常重要的,那…查看详情
- 客户管理软件哪个好用?这几款是不错的选择
有些企业在发展的过程当中会有很多的客户,如果对客户进行记录的话,就是一个麻烦的事情,但是想要对客户进行更好的维护就应该要做好客户管理,所以说这个时候一款客户管理软件就显得十分重要,找到一款好的客户管理软件,才能够达到理想的效果,…查看详情
- 淘宝运费险是什么意思?有什么作用?
优质答案(1) 淘宝商家赠送的运险费,意思是收货后想退货(最好先和商家达成退货协议),你寄回去的运费由你先垫付后,在退货完成后由保险公司赔付你的运费。 保险公司是按投保规定赔付你的运费,可能和你实际花的运费由稍微差异。 淘宝联合保…查看详情
- 伦勃朗光怎么打
伦勃朗的绘画特点是什么?荷兰伟大的油画家伦勃朗,以其精湛的绘画技艺和独具特色的油画语言,特别是在"光"、"色"、"笔触"、"肌理"等探索方面达到了极高的水平,对后世产生了巨大的影响,特别是当前我们研究伦勃朗的艺术对提高我国油画水平有着现实意…查看详情
- 开公司好还是个体户好
对于很多人来说,开公司和成为个体户都是一种很好的工作选择。虽然两者都可以让你独立工作,但它们之间也有一些差别。在选择开公司或成为个体户之前,应该先了解两者的优缺点,然后根据自己的需求和目标来做出选择。在本文中,我们将详细描述什么是开公司…查看详情
猜你喜欢
最新文章
扫码二维码
立即领取《千元实战营销秘籍》
还可免费试用营销管理系统
*如有疑问,请随时拨打免费咨询热线:400-0033-166
服务时间:8:30-18:00
软件企业
认定号:川RQ-2018-0216
高新技术企业
认定号:GR201951001121
关注微信公众号
和10万中小企业共同成长
扫码下载APP
享全方位服务一触即达
Copyright © 2004-2022 万商云集(成都)科技股份有限公司 版权所有 蜀ICP备12001963号-2 川公网安备 51010402000322号
快速找产品
找一找哪款产品适合您?
咨询热线:400-0033-166
免费查找信息保护中请放心填写-
-
电话沟通
在线咨询
获取方案
下载APP
官方微信
扫码下载APP
全方位服务一触即达
关注万商云集
和10万中小企共成长
TOP
企业首选的数字选用平台