物联网大数据处理技术与实践(第2版)课件 第2章-大数据处理技术的发展_第1页
物联网大数据处理技术与实践(第2版)课件 第2章-大数据处理技术的发展_第2页
物联网大数据处理技术与实践(第2版)课件 第2章-大数据处理技术的发展_第3页
物联网大数据处理技术与实践(第2版)课件 第2章-大数据处理技术的发展_第4页
物联网大数据处理技术与实践(第2版)课件 第2章-大数据处理技术的发展_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

物联网大数据处理技术与实践InternetofThings

BigDataprocessingTechnologyandPractice大数据处理技术的发展大数据存储和管理技术1大数据计算技术2大数据分析技术3人工智能研究的基本内容4人工智能的主要应用和研究领域5PARTONE1大数据存储和管理技术师傅领进门,学艺在自身。------中国谚语大数据存储和管理技术大数据每年都在激增庞大的信息量,加上已有的历史数据信息,对整个业界的数据存储、处理带来了很大的机遇与挑战。对于大数据的存储,存在以下问题和挑战:容量问题延迟问题安全问题灵活性...大数据存储和管理技术数据在存储设备上以数据块的形式存储,人们对物理数据进行直接访问和查询文件系统以文件为单位对数据进行访问和管理数据库在文件系统上增加了一个抽象层,用户可以根据数据模型对文件中的数据进行记录级新增、截取、更新、删除等操作传统的数据存储和管理技术:与传统的单机版文件系统及数据库不同,对于大数据的存储和管理,由于数据规模巨大,必须将数据存储在多个机器中,并且在多台机器中共享这些数据。这时,就需要采用新的文件系统技术。面向大数据的文件系统在多台机器中存储与共享数据:以手工的方式共享文件FTP技术被用来共享文件网络文件系统(NetworkFileSystem,NFS),最初的分布式文件系统分布式文件系统搭建在传统文件系统之上,它必须允许用户在企业内部网上的任一计算机上访问自己的文件,程序可以像对待本地文件一样存储和访问远程文件。为了达到此效果,分布式文件系统必须解决一些基本问题。这些问题包括:1).程序如何寻址远程文件,像对待本地文件一样访问远程文件?2).元数据管理问题3).一致性问题4).并发文件更新问题上世纪八十年代出现的网络文件系统主要解决思路是实现客户端和文件(存储)服务器的交互问题。在缓存和一致性管理方面,Sun公司的网络文件系统NFS采用了简单的弱一致性方式:对于缓存的数据,客户端周期性(30秒)去询问服务器,查询文件被最后修改的时间,如果本地缓存数据的时间早于该时间,则让本地缓存数据无效,下次读取数据时就去服务器获取最新的数据。服务器对外提供统一的命名空间(目录树),存储服务器节点之间不共享存储空间,每个服务器存储不同目录子树的方式实现扩展。网络文件系统的服务器之间缺乏负载均衡和容错机制,不同服务器之间的存储空间也不能得以均衡利用,可靠性差,文件(存储)服务器的可扩展性问题十分突出:每个存储服务器所支持的存储容量局限于SCSI总线的限制而难以扩展。网络文件系统90年代,存储区域网(StorageAreaNetwork,SAN)成为解决存储系统可扩展性的最有效的途径。SAN是用网络取代SCSI总线,从而使存储系统的容量与性能的可扩展性都得以极大提高。在SAN网络中,可以接入多个存储节点,每个节点都对外提供I/O通道,在写入数据时,服务器端可以并行写入到多个存储节点中,从而显著提高I/O吞吐量。早期的SAN主要用于集群计算系统中。存储区域网分布式集群文件系统分布式集群文件系统:在传统文件系统基础上,每台计算机各自提供自己的存储空间,并各自协调管理所有计算机节点中的文件,节点通过前端网络发送请求读写数据。典型代表Google文件系统GFS雅虎工程师开发了HDFSGlusterFS、Ceph、Lustre、MooseFS等分布式集群文件系统HDFS对大文件采用分块存储,非常适合在以计算为主和超大文件存储的应用环境下,支持对大文件的每一块进行独立地计算处理。HDFS可以在集群内进行文件块的移动迁移,将文件块迁移到计算空闲的机器上,以充分利用CPU计算资源,加快数据处理速度。同时,分块导致了文件难以修改数据。Ceph的主要目标是设计成可轻松扩展到数PB容量、基于POSIX、没有单点故障、对多种工作负载提供高性能的访问。目前Ceph支持OpenStack、CloudStack、OpenNebula、Hadoop等。GlusterFS是完全与POSIX标准兼容的分布式集群文件系统。分布式内存文件系统Tachyon可以在集群里以访问内存的速度来访问存在tachyon里的文件Tachyon是框架在分布式文件存储和各种计算框架之间的一种中间件主要职责是将那些不需要落地到普通文件系统里的文件,落地到分布式内存文件系统中,来达到共享内存、提高效率,同时可以达到减少内存冗余、GC时间等的目的面向大数据的数据库系统:并行数据库是指那些在无共享的体系结构中进行数据库操作的数据库系统。这些系统大部分采用了关系数据模型并且支持SQL语句查询,但为了能够并行执行SQL的查询操作,系统中采用了两个关键技术:关系表的水平划分:根据某种策略将关系表中的元组分布到集群中的不同节点上,这些节点上的表结构是一样的,这样就可以对元组并行处理SQL查询的分区执行:首先为SQL查询生成总的执行计划,再拆分成能够在各个节点上独立执行的子计划。在执行时,每个节点将中间结果发送到某一特定节点进行聚集产生最终结果。并行数据库优点:拥有较高的性能和可用性缺点:没有较好的可伸缩性;系统的容错性较差只适合小规模集群,以及资源需求相对固定的应用程序NoSQL数据管理系统由于传统关系数据库(Oracle、MSSQLServer和MySQL等)不擅长处理模式不确定性的数据、使传统关系数据库表结构变得复杂和对事务管理的严格要求严重影响了系统在分布式环境下的可用性和可伸缩性等原因,出现了NoSQL数据管理系统。NoSQL(NotOnlySQL)数据存储和管理系统是指那些非关系型的、分布式的、不保证遵循ACID原则的数据存储系统,并分为key-value存储、文档数据库和图数据库这3类。根据CAP定理,对于分布式系统来说,系统的一致性(consistency,C)、可用性(availability,A)和分区容错性(partitiontolerance,P)三者是不可能同时实现的,任何设计高明的分布式系统只能同时保障其中的两个性质。如以上的NoSQL数据库中,Cassandra,Dynamo满足CAP定理中的AP;BigTable,MongoDB满足CP;而关系数据库,如MySQL和Postgres满足AC。NoSQL数据管理系统NoSQL典型地遵循BASE原则,更加强调读写效率、数据容量以及系统可扩展性.NoSQL数据库一般只支持简单的key/value接口,只支持根据惟一的键值(key)定义在一个数据项上的读写操作。支持事务的分布式NoSQL--FoundationDB优点:相对于复杂的关系数据库系统,其主要优点在于其查询速度快、支持大规模数据存储且支持高并发,非常适合只需要通过主键进行简单查询的应用场景。缺点:它本身没有任何表示约束和关系的机制,因此数据完整性的保障完全依赖客户程序本身;由于目前出现了很多NoSQL数据存储系统的产品或工具,但由于缺乏统一标准,彼此之间兼容性差等。NewSQL数据管理系统NewSQL能够提供SQL数据库的质量保证,也能提供NoSQL数据库的可扩展性。VoltDB是NewSQL的实现之一,其开发公司的CTO宣称,它们的系统使用NewSQL的方法处理事务的速度比传统数据库系统快45倍。VoltDB可以扩展到39个机器上,在300个CPU内核中每分钟处理1600万事务,其所需的机器数比Hadoop集群要少很多。NewSQL的出现:2012年Google在OSDI上发表了Spanner的论文,2013年在SIGMOD发表了F1的论文。这两篇论文让业界第一次看到了关系模型和NoSQL的扩展性在超庞大集群规模上融合的可能性。这种可扩展、高性能的SQL数据库被称为NewSQL,其中“New”用来表明与传统关系型数据库系统的区别。PARTTWO2大数据计算技术批处理计算模式

批量数据三大特征数据体量巨大数据精确度高数据价值密度低大数据的批处理系统适用于先存储后计算,实时性要求不高,同时数据的准确性和全面性更为重要的场景。批处理计算模式批量数据处理适合大型、相对成熟的作业,但可能浪费时间,因为处理结果与预期差异大。MapReduce编程模型在批处理计算中广泛应用,因为它具有良好的性价比、易于使用和可伸缩性。离线批处理计算模式适用于静态数据,但对于实时性要求高的应用不够强大,因为它有一些局限性,如中间数据传输难以优化、任务重启开销大等。交互式查询计算模式数据查询和分析是迭代的交互过程,对实时性要求高,大数据环境下需要改进响应时间,引入索引和内存计算等手段,如Spark和Dremel系统。Spark系统:是高效的开源集群计算系统,利用内存快速处理数据,比Hadoop快10倍~100倍,兼容Hadoop存储API,支持交互式查询。Dremel系统:交互式数据分析系统,处理PB级数据,秒级响应,嵌套数据模型适合大规模数据和相关查询,结合Web搜索技术,能够实现并发执行查询。流处理计算模式流处理计算的现状流处理计算的方式流处理的应用流处理计算的现状流数据具有持续到达、规模大且速度快等特点,通常不会对所有数据进行永久化存储,而基本在内存中完成。流数据处理方式更多地依赖于内存中设计巧妙的概要数据结构。在云计算和大数据环境下面临新的挑战,流处理仍旧是研究热点。物联网领域由于大量实时产生的感知数据,也对流处理计算模式有广泛的需求。流处理计算的方式流处理两种典型的处理方式:真正的流处理方式:计算是针对一条新的记录进行一次。

(例如Storm,其响应时间可以达毫秒级。)微批处理方式:将流数据分为很多小的片段,针对每个片段进行一次处理。(例如SparkStreaming,响应时间难以达到毫秒级。)流处理的应用Twitter的Storm系统

Storm是一套分布式、可靠、可容错的用于处理流数据的系统。其流式处理作业被分发至不

同类型的组件,每个组件负责一项简单的、特定的处理任务。Storm提供了简单的类似于MapReduce的编程模型,降低了实时处理的复杂性。它也具有拥有良好的水平扩展能力,其流式计算过程是在多个线程、进程和服务器之间并行进行的。Linkedin的Samza系统

Samza与Kafka的关系可以类比MapReduce与HDFS的关系。Samza系统由3个层次组成,包括流式数据层(Kafka)、执行层(YARN)、处理层(SamzaAPI).一个Samza任务的输入与输出均是流。

Samza使用Kafka来保证所有消息都会按照写入分区的顺序进行处理,绝对不会丢失任何消息。SparkStreaming系统

SparkStreaming是SparkAPI的一个扩展,它并不会像Storm那样一次一个地处理数据流,而是在处理前按时间间隔预先将其切分为一段一段的微批处理作业。大数据实时处理的架构:Lambda及KappaLambda架构是由Storm的作者NathanMarz提出的一个实时大数据处理框架。Lambda架构将大数据系统构建为多个层次。

理想状态下,任何数据访问都可以通过对数据的直接查询获取,但是,若数据达到相当大的一个级别(例如PB),且还需要支持实时查询时,就需要耗费非常庞大的资源。大数据实时处理的架构:Lambda及Kappa

在Lambda架构中,实现batchview的部分被称之为批处理层(Batchlayer)。主要包含两个职责:

存储主数据集(不变的持续增长的数据集)

针对这个主数据集进行预运算

大数据实时处理的架构:Lambda及Kappa加速层只处理最近的数据,它会在接收到新数据时,进行一种增量的计算。

大数据实时处理的架构:Lambda及Kappa

针对Lambda架构的缺点,LinkedIn的工程师JayKreps提出了应对大数据实时处理的另外一种方式,即Kappa架构。

在Kappa架构中,流处理系统来处理输入的数据,流处理系统的输出直接进入数服务层,而应用直接从服务层获取查询结果。也就是说Kappa只有两层:实时处理层和服务层。大数据实时处理的架构:Lambda及Kappa

在Kappa架构中,不需要对数据的处理开发和维护两套不同的系统,因此系统复杂度减少了。

但是,由于Kappa架构去掉了批处理层,因此其不适合用来管理一些需要利用大量历史数据进行批处理的应用。例如在某些大规模机器学习应用场景需要海量的历史数据进行模型训练时,Kappa架构可能会无法胜任。Kappa架构层次图PARTTHREE3大数据分析技术大数据分析技术传统数据分析主要针对结构化数据展开,且形成了成熟的技术体系,但大数据数据的规模效应给很多传统单机版的机器学习和数据挖掘算法带来了很多的挑战。主要体现在:数据量的膨胀数据深度分析需求的增长传统结构化数据分析在传统工业、电子商务、政务以及科学研究等应用领域产生了大量的结构化数据,许多数据挖掘的技术已成功用于一些结构化数据分析的应用。例如:统计机器学习、时空挖掘技术、高速数据流与传感器数据中的模式。文本数据分析文本数据分析是指从无结构的文本中提取有用信息或知识的过程。文本分析技术包括信息提取、主题建模、摘要(summarization)、分类、聚类、问答系统和观点挖掘等技术。多媒体数据分析多媒体数据分析是指从图像、语音等多媒体数据中提取知识。多媒体分析研究覆盖范围较广,包括多媒体识别、多媒体摘要、多媒体标注、多媒体索引和检索、多媒体

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论