第3章-大数据存储与计算课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第3章-大数据存储与计算课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 存储 计算 课件
- 资源描述:
-
1、第3章 大数据存储与计算提纲3.1 大数据存储3.2 HDFS文件系统3.3 NoSQL数据库3.4 Hbase数据库3.5 大数据处理3.6 分布式计算3.7 MapReduce模型3.8 Spark通用计算框架大数据导论3.1 大数据存储Big Data(大数据技术)作为一个专有名词成为热点,主要应归功于近年来互联网、云计算、移动和物联网的迅猛发展。无所不在的移动设备、RFID、无线传感器每分每秒都在产生数据,数以亿计用户的互联网服务时时刻刻在产生巨量的交互,要处理的数据量实在是太大、增长太快了,而业务需求和竞争压力对数据处理的实时性、有效性又提出了更高要求。在这种情况下,传统的常规技术针
2、对大数据存储要求,采取了一些新存储架构和方法,主要包括DAS/NAS/SAN存储结构。但基于存储设备的性能、成本等问题的考虑,架构基于大规模分布式计算(MPP)的GFS/HDFS分布式文件系统、各种NoSQL分布式存储方案等应运而生。3.1.1 大数据如何存储1.结构化数据存储结构化数据通常是人们所熟悉的数据库中的数据,它本身就是一种对现实已发生事项的关键要素进行抽取的有价信息。现在各类企业和组织都有自己的管理信息系统,随着时间的推移,数据库中积累的结构化数据越来越多,一些问题显现出来,这些问题可以分为四类:1)历史数据和当前数据都存在一个数据库中,导致系统处理速度越来越慢;2)历史数据与当前
3、数据的期限如何界定;3)历史数据应如何存储;4)历史数据的二次增值如何解决。3.1.1 大数据如何存储1.结构化数据存储问题1和问题2可以一起处理。导致系统处理速度越来越慢的原因除了传统的技术架构和当初建设系统的技术滞后于业务发展之外,最主要的是对于系统作用的定位问题。从过去30年管理信息系统发展的历史来看,随着信息技术的发展和信息系统领域的不断细分,可将信息系统分为两类,一类是基于目前的数据生产管理信息系统,一类是基于历史的数据应用管理信息系统。问题3和问题4可以放在一起处理。由于历史数据量规模庞大,相对稳态,其存储和加工处理与数据生产管理系统的思路应有很大的不同。结构化数据存储是为了分析而
4、存储,采用分布式方式,其目标有两个:一是在海量的数据库中快速查询历史数据,二是在海量的数据库中进行有价值信息的分析和挖掘。2.非结构化数据存储常见的非结构化数据包括文件、图片、视频、语音、邮件和聊天记录等,和结构化数据相比,这些数据是未被抽象出有价值信息的数据,需要经过二次加工才能得到其有价值信息。由于非结构化数据的生产不受格式约束、不受主题约束,人人随时都可以根据自己的视角和观点进行创作生产,所以数据量比结构化数据大。由于非结构化数据具有形式多样、体量大、来源广、维度多、有价内容密度低、分析意义大等特点,所以要为了分析而存储,而不是为了存储而存储,即存储工作是分析的前置工作。当前针对非结构化
5、数据的特点均采用分布式文件系统方式来存储这些数据。3.1.1 大数据如何存储3.半结构化数据存储半结构化数据是指数据中既有结构化数据,也有非结构化数据,比如,摄像头回转给后端的数据中有位置、时间等结构化数据,还有图片等非结构化数据。这些数据是以数据流的形式传递的,所以半结构化数据也叫流数据。对流数据进行处理的系统叫做数据流系统。数据流的特点是数据不是永久存储在数据库中的静态数据,而是瞬时处理的源源不断的连续数据流。在大量的数据流应用系统中,数据流来自于地理上不同位置的数据源,非常适合分布式查询处理。3.1.1 大数据如何存储1.1.容量容量问题问题要求数据容量通常可达要求数据容量通常可达PBP
6、B级,因此,海量数据存储系统一定要有相应等级的扩展能力。同时存储系统级,因此,海量数据存储系统一定要有相应等级的扩展能力。同时存储系统的扩展一定要简便,可以通过增加模块或磁盘组来增加容量,扩展时甚至不需要停机。的扩展一定要简便,可以通过增加模块或磁盘组来增加容量,扩展时甚至不需要停机。2.2.延迟延迟问题问题“大数据大数据”应用存在实时性问题,特别是涉及与网上交易或者金融类相关的应用。为了应对这样的挑应用存在实时性问题,特别是涉及与网上交易或者金融类相关的应用。为了应对这样的挑战,各种模式的固态存储设备应运而生,小到简单地在服务器内部做高速缓存,大到通过高性能闪存战,各种模式的固态存储设备应运
7、而生,小到简单地在服务器内部做高速缓存,大到通过高性能闪存存储的全固态介质可扩展存储系统,以及自动、智能地对热点数据进行读存储的全固态介质可扩展存储系统,以及自动、智能地对热点数据进行读/写高速缓存的系列产品。写高速缓存的系列产品。3.3.安全安全问题问题某些特殊行业的应用,比如金融数据、医疗信息以及政府情报等都有自己的安全标准和保密性要求。某些特殊行业的应用,比如金融数据、医疗信息以及政府情报等都有自己的安全标准和保密性要求。同时,大数据分析往往需要多类数据的相互参考,因此,会催生出一些新的、需考虑的安全问题。同时,大数据分析往往需要多类数据的相互参考,因此,会催生出一些新的、需考虑的安全问
8、题。4.4.成本成本问题问题对于需要使用大数据环境的企业来说,成本控制是关键问题。想控制成本,就意味着让每一台设备实对于需要使用大数据环境的企业来说,成本控制是关键问题。想控制成本,就意味着让每一台设备实现更高效率,同时尽量减少昂贵的部件。目前,重复数据删除技术已进入主存储市场现更高效率,同时尽量减少昂贵的部件。目前,重复数据删除技术已进入主存储市场。3.1.2 大数据存储的问题5.5.数据的积累数据的积累任何任何数据都是历史记录的一部分,而且数据的分析大多是基于时间段进行的。要实现长期的数据都是历史记录的一部分,而且数据的分析大多是基于时间段进行的。要实现长期的数据保存,就要求存储厂商开发出
9、能够持续进行数据一致性检测和保持长期高可用特性的产数据保存,就要求存储厂商开发出能够持续进行数据一致性检测和保持长期高可用特性的产品,同时还要满足数据直接在原位更新的功能需求。品,同时还要满足数据直接在原位更新的功能需求。6.6.灵活性灵活性大数据存储系统的基础设施规模通常很大,因此必须经过仔细设计才能保证存储系统的灵活大数据存储系统的基础设施规模通常很大,因此必须经过仔细设计才能保证存储系统的灵活性,使其能够随着应用分析软件一起扩容及扩展。在大数据存储环境中,数据会同时保存在性,使其能够随着应用分析软件一起扩容及扩展。在大数据存储环境中,数据会同时保存在多个部署站点,已不需要再做数据迁移。一
10、个大型的数据存储基础设施投入使用后就很难再多个部署站点,已不需要再做数据迁移。一个大型的数据存储基础设施投入使用后就很难再调整,因此它必须能适应不同应用类型和数据场景。调整,因此它必须能适应不同应用类型和数据场景。7.7.应用应用感知感知最早的一批大数据用户已经开发出针对应用的定制化的基础设施,在主流存储系统领域,应最早的一批大数据用户已经开发出针对应用的定制化的基础设施,在主流存储系统领域,应用感知技术的使用越来越普遍,它是改善系统效率和性能的重要手段,用感知技术的使用越来越普遍,它是改善系统效率和性能的重要手段,8.8.针对针对小用户小用户依赖大数据的不仅仅是特殊的大型用户群体,作为一种商
11、业需求,小型企业也将会用到大数依赖大数据的不仅仅是特殊的大型用户群体,作为一种商业需求,小型企业也将会用到大数据。目前一些存储厂商已经在开发一些小型的据。目前一些存储厂商已经在开发一些小型的“大数据大数据”存储系统,以吸引那些对成本比较存储系统,以吸引那些对成本比较敏感的用户。敏感的用户。3.1.2 大数据存储的问题3.2 HDFS文件系统3.2.1 3.2.1 相关相关概念概念1存储块HDFS使用Block(存储块)对文件的存储进行操作,Block是HDFS的基本存储单元,在Hadoop1.x中默认大小是64M,Hadoop2.x中大小默认为128M,一个文件被分成多个块,以块作为存储单位块
12、的大小远远大于普通文件系统,可以最小化寻址开销。HDFS采用抽象的块概念可以带来以下几个明显的好处:支持大规模文件存储:文件以块为单位进行存储,一个大规模文件可以被分拆成若干个文件块,不同的文件块可以被分发到不同的节点上,因此,一个文件的大小不会受到单个节点的存储容量的限制,可以远远大于网络中任意节点的存储容量。简化系统设计:首先,大大简化了存储管理,因为文件块大小是固定的,这样就可以很容易计算出一个节点可以存储多少文件块;其次,方便了元数据的管理,元数据不需要和文件块一起存储,可以由其他系统负责管理元数据。适合数据备份:每个文件块都可以冗余存储到多个节点上,大大提高了系统的容错性和可用性。3
13、.2 HDFS文件系统2 2NameNodeNameNode、SecondaryNameNodeSecondaryNameNode和和DataNodeDataNodeNameNode管理文件系统的命名空间。NameNode维护两套数据:一套是文件目录与数据块之间的映射关系,另一套是数据块与节点间的关系。SecondaryNameNode第二名称节点是HDFS架构中的一个组成部分,它是用来保存名称节点中对HDFS元数据信息的备份,并减少名称节点重启的时间。SecondaryNameNode一般是单独运行在一台机器上。DataNode数据节点是分布式文件系统HDFS的工作节点,负责数据的存储和读取
14、,会根据客户端或者是名称节点的调度来进行数据的存储和检索,并且向名称节点定期发送自己所存储的块的列表。每个数据节点中的数据会被保存在各自节点的本地Linux文件系统中。3.2 HDFS文件系统3.3.心跳机制心跳机制所谓“心跳”是一种形象化描述,指的是持续的按照一定频率在运行,类似于心脏在永无休止的跳动。这里指的是DataNode向NameNode发送心跳的周期是3秒,NameNode周期性的从集群中的每个DataNode接收心跳包和块报告,NameNode可以根据这个报告验证块映射和其他文件系统元数据。收到心跳包说明DataNode工作正常。如果DataNode不能发出心跳信息,NameNo
15、de会标记没有心跳的DataNode为宕机,不会给它任何新的I/O请求。4.4.机架感知机架感知Hadoop在设计时考虑到数据的安全与高效,数据文件默认在HDFS上存放三份,存储策略为本地一份,同机架内其它某一节点上一份,不同机架的某一节点上一份。这样如果本地数据损坏,节点可以从同一机架内的相邻节点拿到数据,速度肯定比从跨机架节点上拿数据要快;同时,如果整个机架的网络出现异常,也能保证在其它机架的节点上找到数据。3.2.2 HDFS分布式文件系统的结构HDFS采用Master/Slave架构。一个HDFS集群是由一个NameNode和一定数目的DataNodes组成。NameNode是一个中心
16、服务器,负责管理文件系统的名字空间(namespace)以及客户端对文件的访问。集群中的DataNode一般是一个节点一个,负责管理它所在节点上的存储。HDFS暴露了文件系统的名字空间,用户能够以文件的形式在上面存储数据。从内部看,一个文件其实被分成一个或多个数据块,这些块存储在一组DataNode上。NameNode执行文件系统的名字空间操作,比如打开、关闭、重命名文件或目录。它也负责确定数据块到具体DataNode节点的映射。DataNode负责处理文件系统客户端的读写请求。在NameNode的统一调度下进行数据块的创建、删除和复制,如图3-1所示的HDFS文件系统整体结构。3.2.2 H
17、DFS分布式文件系统的结构2.3.3 HDFS存储原理1.1.冗余数据保存冗余数据保存作为一个分布式文件系统,HDFS 的主要设计目标就是为了保证系统的容错性和可用性,HDFS采用了多副本方式对数据进行冗余存储,通常一个数据块的多个副本会被分布到不同的数据节点上,HDFS默认的副本系数是3,这适用于大多数情况。如图所示,数据块A被分别存放到数据节点1和2和4上,数据块B被存放在数据节点2、4和5上。这种多副本方式具有以下几个优点:这种多副本方式具有以下几个优点:(1)加快数据传输速度 (2)容易检查数据错误 (3)保证数据可靠性3.2.3 HDFS存储原理1.1.数据存取策略数据存取策略1)数
18、据存放第一个副本:放置在上传文件的数据节点;如果是集群外提交,则随机挑选一台磁盘不太满、CPU不太忙的节点。第二个副本:放置在与第一个副本不同的机架的节点上。第三个副本:与第一个副本相同机架的其他节点上。更多副本:随机节点。3.2.3 HDFS存储原理1.1.数据存取策略数据存取策略2)数据数据读取读取当客户端读取数据时,从名称节点获得数据块不同副本的存放位置列表,列表中包含了副本所在的数据节点,可以调用API来确定客户端和这些数据节点所属的机架ID,当发现某个数据块副本对应的机架ID和客户端对应的机架ID相同时,就优先选择该副本读取数据,如果没有发现,就随机选择一个副本读取数据3 3)数据复
19、制)数据复制 数据复制主要是在数据写入和数据恢复的时候发生。当客户端向HDFS文件写入数据的时候,一开始是写到本地临时文件中。假设该文件的副本系数设置为3,当本地临时文件累积到一个数据块的大小时,客户端会从NameNode获取一个DataNode列表用于存放副本。然后客户端开始向第一个DataNode传输数据,第一个DataNode一小部分一小部分(4 KB)地接收数据,将每一部分写入本地仓库,并同时传输该部分到列表中第二个DataNode节点。第二个DataNode也是这样,一小部分一小部分地接收数据,写入本地仓库,并同时传给第三个DataNode。最后,第三个DataNode接收数据并存储
20、在本地。3.3 NOSQL数据库NoSQL(Not Only SQL),意即“不仅仅是SQL”,泛指非关系型的数据库,是一项全新的数据库革命性运动。NoSQL一词最早出现于1998年,是Carlo Strozzi开发的一个轻量、开源、不提供SQL功能的关系型数据库。2009年Last.fm的Johan Oskarsson发起了一次关于分布式开源数据库的讨论,来自Rackspace的Eric Evans再次提出了NoSQL的概念,这时的NoSQL主要指非关系型、分布式、不提供ACID的数据库设计模式。2009年在亚特兰大举行的“no:sql(east)”讨论会是一个里程碑,其口号是select
21、fun,profit from realworld where relational=false;”。因此,对于NoSQL,最普遍的解释是“非关联型的”,强调键值存储和文档数据库的优点,而不是单纯地反对RDBMS。相对于目前铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。3.3 NOSQL数据库3.3.1 3.3.1 NoSQLNoSQL的产生的产生传统的关系数据库在应付Web2.0网站,特别是超大规模和高并发的SNS类型的Web2.0纯动态网站方面,已经显得力不从心,暴露了很多难以克服的问题,主要包括以下几个方面:1.对数据库高并发读写的性能需求:Web2.0网站要根据用户个
22、性化信息来实时生成动态页面和提供动态信息,所以,基本上无法使用动态页面静态化技术,因此数据库并发负载非常高,往往要达到每秒上万次读写请求。关系数据库应付上万次SQL查询还勉强顶得住,但是应付上万次SQL写数据请求,硬盘I/O就已经无法承受了。其实对于普通的 BBS 网站,往往也存在对高并发写请求的需求。3.3 NOSQL数据库2.对海量数据的高效率存储和访问的需求:对于大型的SNS站,每天用户产生海量的用户动态,以国外的Friendfeed为例,一个月就达到了2.5亿条用户动态,对于关系数据库来说,在一张2.5亿条记录的表里面进行SQL查询,效率是极其低下甚至是不可忍受的。再例如大型Web网站
23、的用户登录系统,例如腾讯和盛大,动辄数以亿计的帐号,关系数据库也很难应付。3.对数据库的高可扩展性和高可用性的需求:在基于Web的架构当中,数据库是最难进行横向扩展的,当一个应用系统的用户量和访问量与日俱增的时候,你的数据库却没有办法像网页服务器和应用服务器那样简单地通过添加更多的硬件和服务节点来扩展性能和负载能力。对于很多需要提供24小时不间断服务的网站来说,对数据库系统进行升级和扩展是非常痛苦的事情,往往需要停机维护和数据迁移。3.2.2 NOSQL与RDBMS关系型关系型数据库数据库与与NoSQLNoSQL的的简单简单比较比较3 3.3 3.3.3 NOSQLNOSQL的分类的分类NoS
24、QL仅仅是一个概念,NoSQL数据库根据数据的存储模型和特点分为很多种类,如何对他们分类,以便方便地根据自己应用特色选择不同的NoSQL数据库呢?NoSQL主要有六种存储类型:列存储、文档存储、Key-value存储、图存储、对象存储、xml数据库,如表所示。3.3.4 NOSQL与NEWSQL虽然NoSQL数据库提供了高扩展性和灵活性,但是它也有自己的缺点,主要有以下几个方面:1.数据模型和查询语言没有数字验证。SQL基于关系代数和关系演算的查询结构有坚实的数学保证,由于NoSQL没有使用SQL,而使用一些模型还未有完善的数学基础,这也是NoSQL系统较为混乱的主要原因之一。2.不支持ACI
25、D特性。这为NoSQL带来优势的同时也带了了缺点,事务在有些情况下需要ACID特性使得系统在中断情况下也能保证在线事务准确执行。3.功能简单。大多数NoSQL系统提供的功能比较简单,这就增加了应用层的负担。例如应用层要实现ACID,那么编写代码的程序员一定极其痛苦。4.没有统一的查询模型。NoSQL系统一般提供不同的查询模型,这使得很难规范应用程序接口。3.3.4 NOSQL与NEWSQLNewSQL 是用于在线事务处理(OLTP)的下一代可伸缩关系数据库管理系统(RDBMS),它可为读写工作负载提供NoSQL系统的可伸缩性能,并且维护保证传统数据库系统的ACID(原子性,一贯性,隔离,耐久性
展开阅读全文