您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据挖掘与识别 > 大数据_BigData-MapReduce-新生态系统101
BigData1大数据时代•在科学研究(天文学、生物学、高能物理等)•计算机仿真•互联网应用•电子商务等领域数据量呈现快速增长的趋势2大数据时代在科学研究方面:大型强子对撞机每年积累的新数据量为15PB左右在电子商务领域:沃尔玛公司每天通过6000多个商店,向全球客户销售超过2.67亿件商品为了对这些数据进行分析,HP公司为沃尔玛公司建造了大型数据仓库系统,数据规模达到4PB,并且仍在不断扩大3大数据时代大规模数据主要来源1:传感器数据分布在不同地理位置上的传感器,对所处环境进行感知,不断生成数据.即便对这些数据进行过滤,仅保留部分有效数据,长时间累积的数据量也是非常惊人的4大数据时代大规模数据主要来源2:网站点击流数据为了进行有效的市场营销和推广,用户在网上的每个点击及其时间都被记录下来;利用这些数据,服务提供商可以对用户存取模式进行仔细的分析,从而提供更加具有针对性的服务5大数据时代大规模数据主要来源3:移动设备数据通过移动电子设备包括移动电话和PDA、导航设备等,我们可以获得设备和人员的位置、移动、用户行为等信息,对这些信息进行及时的分析,可以帮助我们进行有效的决策,比如交通监控和疏导系统6大数据时代大规模数据主要来源4:射频ID数据RFID可以嵌入到产品中,实现物体的跟踪.一旦RFID得到广泛的应用,将是大量数据的主要来源之一7数据分析的新趋势:超越常规报表的深度分析需求的增长•为了从数据中发现知识并加以利用,指导人们的决策,必须对数据进行深入的分析,而不是仅仅生成简单的报表.•这些复杂的分析必须依赖于复杂的分析模型,很难用SQL来进行表达,统称为深度分析(deepanalysis).8•人们不仅需要通过数据了解现在发生了什么,更需要利用数据对将要发生什么进行预测,以便在行动上做出一些主动的准备•比如,通过预测客户的流失预先采取行动,对客户进行挽留.910•这里,典型的OLAP数据分析操作(对数据进行聚集、汇总、切片和旋转等)已经不够用,还需要路径分析、时间序列分析、图分析、What-if分析以及由于硬件/软件限制而未曾尝试过的复杂统计分析模型11时间序列分析•商业组织积累了大量的交易历史信息,企业的各级管理人员希望从这些数据中分析出一些模式,以便从中发现商业机会,通过趋势分析,甚至预先发现一些正在涌现出来的机会.12时间序列分析–比如在金融服务行业,分析人员可以开发针对性的分析软件,对时间序列数据进行分析,寻找有利可图的交易模式(profitabletradingpattern),经过进一步验证之后,操作人员可以使用这些交易模式进行实际的交易,获得利润13大规模图分析和网络分析•社会网络虚拟环境本质上是对实体连接性的描述.在社会网络中,每个独立的实体表示为图中的一个节点,实体之间的联系表示为一条边.14大规模图分析和网络分析•通过社会网络分析,可以从中发现一些有用的知识–比如发现某种类型的实体(有一种类型的实体把各个小组连接在一起,称为网络中的关键实体).–这些信息可以用于产品直销、组织和个体行为分析、潜在安全威胁分析等领域.15一种处理大数据的方法是使用采样技术•通过采样,可以把数据规模变小,以便利用现有的技术手段(关系数据库系统)进行数据管理和分析.•然而在某些应用领域,采样将导致信息的丢失,比如DNA分析等.•在明细数据上进行分析,意味着需要分析的数据量将急剧膨胀和增长.16数据分析的趋势和挑战1)数据量的膨胀;2)数据深度分析需求的增长3)数据类型多样化包括各种非结构化、半结构化数据,对这些类型多样的数据进行管理和分析也是数据处理技术所面临的挑战.1718以MapReduce为代表的非关系数据管理技术的兴起19关系数据库技术•关系数据库技术经过了将近40年的发展,成为一门成熟的、同时仍在不断演进的主流数据管理和分析技术.•关系数据管理技术的主流应用包括OLTP应用、OLAP应用以及数据仓库等.•SQL语言作为存取关系数据库系统的语言得到了标准化,经过不断扩充,其功能和表达能力不断增强.20关系数据库技术•但是,关系数据管理技术在大数据时代丧失了互联网搜索这个机会•其主要原因是关系数据管理系统(并行数据库)的扩展性遇到了前所未有的障碍,不能胜任大数据分析的要求21关系数据库技术•关系数据管理模型追求的是高度的一致性和正确性.面向超大数据的分析需求–纵向扩展(scaleup)系统,即通过增加或者更换CPU、内存、硬盘以扩展单个节点的能力,终将遇到瓶颈–横向扩展(scaleout)系统,即通过增加计算节点连接成集群,并且改写软件,使之在集群上并行执行,才是经济的解决办法.22关系数据库技术•使用大规模集群实现大数据的管理和分析,需要应对的挑战很多,其中,系统的可用性摆到了重要的位置23关系数据库技术•根据CAP(consistency,availability,tolerancetonetworkpartitions)理论•(TowardsRobustDistributedSystems.PODC2004Keynote)(对该理论尚存争议),在分布式系统中,一致性、可用性、容错性三者不可兼得,追求其中两个目标必将损害另外一个目标24关系数据库技术•并行数据库系统追求高度的一致性和容错性(通过分布式事务、分布式锁等机制),无法获得良好的扩展性和系统可用性,而系统的扩展性是大数据分析的重要前提.25MapReduce•2004年,Google公司最先提出MapReduce技术,作为面向大数据分析和处理的并行计算模型,引起了工业界和学术界的广泛关注.•MapReduce在设计之初,致力于通过大规模廉价服务器集群实现大数据的并行处理,它把扩展性和系统可用性放在了优先考虑的位置.26MapReduce技术框架•分布式文件系统•并行编程模型•并行执行引擎27分布式文件系统(Googlefilesystem)•分布式文件系统运行于大规模集群之上,集群使用廉价的机器构建.•数据采用键/值对(key/value)模式进行存储.•整个文件系统采用元数据集中管理、数据块分散存储的模式,通过数据的复制(每份数据至少3个备份)实现高度容错.•数据采用大块存储(64MB或者128MB为1块)的办法,可方便地对数据进行压缩,节省存储空间和传输带宽.28MapReduce并行编程模型•并行编程模型把计算过程分解为两个主要阶段,即Map阶段和Reduce阶段.–Map函数处理Key/Value对,产生一系列的中间Key/Value对–Reduce函数用来合并所有具有相同Key值的中间键值对,计算最终结果.29MapReduce并行编程模型•MapReduce技术是一种简洁的并行计算模型,它在系统层面解决了扩展性、容错性等问题•通过接受用户编写的Map函数和Reduce函数,自动地在可伸缩的大规模集群上并行执行,从而可以处理和分析大规模的数据30MapReduce并行编程模型•MapReduce技术是非关系数据管理和分析技术的典型代表.•在Google公司内部,通过大规模集群和MapReduce软件,每天有超过20PB的数据得到处理,每个月处理的数据量超过400PB31MapReduce并行编程模型•在数据分析的基础上,Google提供了围绕互联网搜索的一系列服务(包括地图服务、定向广告服务等).如此大规模的数据管理和分析,是传统的关系数据管理技术所无法完成的32MapReduce技术的发展•一经推出,立即遭到关系数据管理技术阵营(以著名的数据库技术专家Stonebraker为代表)的猛烈抨击.•Stonebraker认为,MapReduce技术是一个巨大的倒退,并指出了MapReduce技术的众多缺点,包括–不支持Schema–没有存取优化–依靠蛮力(bruteforce)进行数据处理等33MapReduce技术的发展•Stonebraker等人在100个节点的集群上对–Hadoop技术(MapReduce的开源实现)–Vertica数据库(一种基于列存储的关系数据库管理系统)–DBMS-X数据库(某厂商提供的商用数据库)进行了数据装载和数据分析的性能比较,发现MapReduce的性能远远低于Vertica和DBMS-X.但Stonebraker的批判并没有阻挡住以MapReduce技术为代表的大数据分析新技术的发展洪流.34MapReduce技术的发展•近几年来,MapReduce技术获得了广泛的关注,研究人员围绕MapReduce开展了深入的研究,包括–MapReduce应用领域的扩展–MapReduce性能的提升–MapReduce易用性的改进等同时,MapReduce技术和RDBMS也出现了相互借鉴相互渗透的趋势35MapReduce应用领域的扩展•MapReduce技术已经从围绕搜索的数据分析扩展到数据挖掘、机器学习、信息检索、计算机仿真、科学实验数据处理(生物、物理…)等众多的领域36MapReduce应用领域的扩展•针对传统分析软件扩展性差以及Hadoop分析功能薄弱的特点,IBM公司的研究人员致力于对R和Hadoop的集成.•R是开源的统计分析软件,通过R和Hadoop的深度集成,把计算推向数据并且并行处理,使Hadoop获得了强大的深度分析能力37MapReduce应用领域的扩展•Purdue大学的RHIPE项目()也致力于R和Hadoop的集成,为大数据分析提供开发环境的支持38MapReduce应用领域的扩展•Wegener等人则实现了Weka(类似于R的开源的机器学习和数据挖掘工具软件)和MapReduce的集成.39MapReduce应用领域的扩展•标准版Weka工具只能在单机上运行,并且不能超越1GB内存的限制.•经过算法的并行化,在MapReduce集群上,Weka不仅突破了原有的可处理数据量的限制,轻松地对超过100GB的数据进行分析,同时利用并行计算提高了性能.•经过改造的Weka,赋予MapReduce技术深度分析的能力40MapReduce应用领域的扩展•若干开发者发起了ApacheMahout项目的研究,该项目是基于Hadoop平台的大规模数据集上的机器学习和数据挖掘开源程序库,为应用开发者提供了丰富的数据分析功能41MapReduce性能提升的研究•多核硬件与GPU上的性能改进•索引技术与连接技术的优化•调度技术优化•其他优化技术42多核硬件与GPU上的性能改进•MIT和Manchester大学的研究人员研究了多核硬件上的MapReduce性能改进•研究了CellBroadbandEngine上的MapReduce性能优化技术,其中,Wisconsin大学的研究人员利用CellSort算法,充分发挥硬件能力,极大地提高了排序的性能43多核硬件与GPU上的性能改进•GPU的核心数量和工作频率不断提高,Texas大学Austin分校等科研机构的研究人员,就如何利用GPU提高MapReduce的执行性能展开了研究•清华大学和IBM实验室的研究人员提出了MapCG,在源代码级提供CPU编程和GPU编程的可移植性,大大提高了MapReduce程序编写的容易程度.44•Ohio州立大学的研究人员面向多核环境,提出MATE编程接口与环境,不仅减小了内存占用,同时,性能也大大超越Hadoop和Phoenix–(Phoenix是一种MapReduce的C++实现,).45索引技术与连接技术的优化•中国科学院计算技术研究所围绕MapReduce开展了索引优化、利用分布式内存Cache提高性能等研究46索引技术与连接技术的优化•有人提出事实表上的虚拟视图(virtualviewoverfacttable)、事实表和维表连接的优化、基于列存储的压缩等技术,提高了MapReduce环境下星型模型上的OLAP类应用的执行性能.47索引技术与连接技术的优化•也有人通过对MapR
本文标题:大数据_BigData-MapReduce-新生态系统101
链接地址:https://www.777doc.com/doc-25207 .html