云计算与大数据技术复习(总)
文章目录
- 云计算与大数据技术复习(总)
-
- **Cloud Computing & Big Data** 
- 第一章 云计算基础
-
- 1.1 云计算定义
-
- 1.1.1 云计算涉及技术
- 1.2 云计算技术分类
-
- 1.2.1 资源封装的层次
- 1.2.1 技术路线角度
- 1.2.1 服务对象角度
- 1.3 生产数据三个阶段
- 1.4 云计算特点
- 1.5 数据来源
- 1.6 大数据特征
- 1.7 大数据应用领域
- 1.8 大数据处理系统
- 1.9 大数据处理的基本流程[插入图片描述](https://web.ruidan.com/images/aritcle/20220621/c5738d41c3b04623bed59dd3dded9f35.png)
- 1.10 云计算时代的三个基本角色
- 1.11 大数据
- 1.12 内在动力
- 1.13 云计算发展两大主题
- 1.14 科学家
- 1.15 大数据相关技术
-
- 1.15.1 数据收集
- 1.15.2 数据存储
- 1.15.3 数据分析
- 1.15.4 数据再利用
- 1.16 物联网产业链
- 第二章 大数据基础
-
- 2.1 科研四范式发展历程
- 2.二 非关系数据库
-
- 2.2.1 产生
- 2.2.2 定义
- 2.2.3 分类
- 2.3 一致性哈希算法
-
- 2.3.1 基本原理
- 2.3.2 计算和存储位置的一致性
- 2.3.3 图解
- 2.4 进化算法(蚁群算法)
- 2.5 耗散结构
-
- 2.5.1 消散结构的定义
- 2.5.2 耗散结构形成条件
- 2.5.3 集群系统本身满足消散结构的要求
- 第三章 虚拟化技术
-
- 3.1 虚拟化描述
- 3.2 虚拟化技术分类
-
- 3.2.1 指示集架构级虚拟化
- 3.2.2 硬件抽象层虚拟化
- 3.2.3 操作系统层虚拟化
- 3.2.4 编程语言层虚拟化
- 3.2.5 库函数层虚拟化
- 3.2.6 五层对比
- 3.3 虚拟化技术优势
- 3.4 虚拟化技术的劣势
- 3.5 操作系统虚拟化与硬件虚拟化之间的差异
- 3.6 虚拟化形式
- 3.7 虚拟机特性
- 3.8 系统虚拟化
-
- 3.8.1 定义
- 3.8.2 优点
- 3.8.3 分类
-
- 3.8.3.1 服务器虚拟化
- 3.8.3.2 桌面虚拟化
- 3.8.3.3 网络虚拟化
- 3.9 虚拟化软件
- 第四章 虚拟化平台
-
- 4.1 集群系统
-
- 4.1.1 集群系统概念
- 4.1.2 设计中应考虑的五个关键问题
- 4.1.3 集群系统分类
- 4.1.4 集群系统特征
- 4.1.5 集群一致性
-
- 4.1.5.1 定义
- 4.1.5.2 分类
- 4.1.6
- 4.1.7 大数据系统分类
- 4.二 单系统图像
-
- 4.2.1 单一系统的图像意义
- 4.2.2 单一系统映像好处
- 4.3 SMP、MPP、集群对比
- 4.4 Beowulf系统
-
- 4.4.1 Beowulf定义
- 4.4.2 Beowulf特点
- 4.4.3与其他并行计算机比较
- 4.4.4 并行计算水平
- 4.5集群文件
-
- 4.5.1 定义
- 4.5.2 集群文件系统的优势
- 4.6 Lustre集群文件系统
-
- 4.6.1 定义
- 4.6.2 组成及功能
- 4.6.3 Lustre优点:
- 4.6.4 Lustre缺点:
- 4.在7 分布式系统中计算和数据的协作机制
-
- 4.7.1 基于计算切分的分布式计算
- 4.7.2 基于计算和数据切割的混合分布式计算技术-网格计算
- 4.7.3 基于数据切割的分布式计算
- 4.7.4 ☆三种计算对比
- 第五章 MPI-面向计算
-
- 5.1 MPI定义
- 5.2 MPI特点
- 5.3 函数名称
-
- 5.3.1 最简单的并行程序
- 5.3.2 获取进程标志和机器名
- 5.3.3 有消息传递功能的并行程序
- 第六章 分布式大数据系统——Hadoop
-
- 6.1 Hadoop核心模块
- 6.2 分布式计算框架MapReduce(进行计算)
-
- 6.2.1 定义
- 6.2.2 特点
- 6.2.3 利用MapReduce解决wordcount的整个过程
- 6.3 分布式计算框架系统HDFS(存放数据)
-
- 6.3.1 HDFS简介
- 6.3.2 文件存储时两个重要的策略
- 6.3.3 工作过程
- 6.4 Google文件系统(GFS)
-
- 6.4.1 定义
- 6.4.2 体系结构
- 6.4.3 工作过程
- 6.4.4 优势
- 6.5 Hadoop与MPI在数据处理上的差异
- 第七章 HPCC—面向数据的高性能计算集群系统
-
- 7.1 HPCC优点
- 7.2 高性能计算采用的两种方式
- 7.3 高性能计算集群系统分类
-
- 7.3.1 面向计算的高性能计算
- 7.3.2 面向数据的高性能计算
- 7.4 HPPC系统架构
-
- 7.4.1 Thor
- 7.4.2 Roxie
- 7.5 HPCC平台数据检索任务的执行过程
-
- 1. 加载原始数据
- 2. 切分、分发待处理的数据
- 3. 分发后原始数据的ETL处理
- 4. 向Roxie集群发布
- 第八章 基于拓扑的流数据实时计算系统——Storm
-
- 8.1 storm简介
- 8.2 Storm编程模型原理
- 8.3 三进程架构
- 8.4 优点
- 8.5 体系结构
-
- 8.5.1 ZooKeeper
-
- 8.5.1.1 核心
- 8.5.1.2 角色
- 8.5.1.3 系统模型
- 8.6 Storm与Hadoop区别
- 第九章 服务器与数据中心
-
- 9.1 数据中心的组成
- 9.2 数据中心的能耗三个级别
- 9.3 能耗评估参数PUE、DCIE、IT
-
- 9.3.1 PUE
- 9.3.2 DCIE
- 9.3.3 IT设备的能效比
- 9.4 数据中心发展阶段
- 9.5 数据中心选址考虑因素
- 第十章 云计算大数据仿真技术
-
- 10.1 云仿真技术
-
- 10.1.1 CloudSim的使用模型场景
-
- 10.1.1.1 云数据中心的能耗模型
- 10.1.1.2 云平台的经济模型
- 10.1.1.3 联合云模型
- 10.1.1.4 CloudSim中对定价策略进行模拟划分
- 10.1.1.5 云存储分类
- 9.4 数据中心发展阶段
- 9.5 数据中心选址考虑因素
- 第十章 云计算大数据仿真技术
-
- 10.1 云仿真技术
-
- 10.1.1 CloudSim的使用模型场景
-
- 10.1.1.1 云数据中心的能耗模型
- 10.1.1.2 云平台的经济模型
- 10.1.1.3 联合云模型
- 10.1.1.4 CloudSim中对定价策略进行模拟划分
- 10.1.1.5 云存储分类
第一章 云计算基础
1.1 云计算定义
云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给计算机和其他设备;包括分布式计算技术、虚拟化技术、网络技术、服务器技术、数据中心技术、云计算平台技术、存储技术。
1.1.1 云计算涉及技术
- 在两个或多个软件互相共享信息,这些软件既可以在同一台计算机上运行,也可以在通过网络连接起来的多台计算机上运行。分布式计算比起其它算法具有以下几个优点:
- 稀有资源可以共享,通过分布式计算可以在多台计算机上平衡计算负载,可以把程序放在最适合运行它的计算机上。
- 共享稀有资源和平衡负载是计算机分布式计算的核心思想之一。
- 通过虚拟化技术可实现软件应用与底层硬件相隔离,它包括将单个资源划分成多个虚拟资源的裂分模式,也包括将多个资源整合成一个虚拟资源的聚合模式。虚拟化技术根据对象可分成存储虚拟化、计算虚拟化、网络虚拟化等,计算虚拟化又分为系统级虚拟化、应用级虚拟化和桌面虚拟化。
- 把互联网上分散的资源融为有机整体,实现资源的全面共享和有机协作,使人们能够透明地使用资源的整体能力并按需获取信息
- 一种管理计算资源的计算机,服务器是计算机的一种,它比普通计算机运行更快、负载更高、价格更贵。服务器在网络中为其它客户机(如PC机、智能手机、ATM等终端甚至是火车系统等大型设备)提供计算或者应用服务。服务器具有高速的CPU运算能力、长时间的可靠运行、强大的I/O外部数据吞吐能力以及更好的扩展性。
- 数据中心是全球协作的特定设备网络,用来在internet网络基础设施上传递、加速、展示、计算、存储数据信息。
- 云计算资源规模庞大,服务器数量众多并分布在不同的地点,同时运行着数百种应用,如何有效的管理这些服务器,保证整个系统提供不间断的服务是巨大的挑战。
- 云计算系统的平台管理技术能够使大量的服务器协同工作,方便的进行业务部署和开通,快速发现和恢复系统故障,通过自动化、智能化的手段实现大规模系统的可靠运营。
- 通过网络把资源整合输出
1.2 云计算技术分类
1.2.1 资源封装的层次
基础设施即服务 IaaS 平台即服务 PaaS 软件即服务 SaaS
1.2.1 技术路线角度
资源整合型云计算和资源切分型云计算
1.2.1 服务对象角度
- 指服务对象是面向公众的云计算服务,由云服务提供商运营。其目的是为终端用户提供从应用程序、软件运行环境,到物理基础设施等各种各样的IT资源。公有云对云计算系统的稳定性、安全性和并发服务能力有更高的要求。
- 企业自建自用的云计算中心,其具备许多公有云环境的优点。指主要服务于某一组织内部的云计算服务,其服务并不向公众开放,如企业、政府内部的云服务
- 公有云和私有云结合在一起的方式,该模式中,用户通常将非企业关键信息外包,并在共有云上处理,而掌握企业关键服务及数据内容则放在私有云上处理
- 社区云是共有云范畴内的一个组成部分。它由众多利益向仿的组织掌控及使用。其目的是实现云计算的一些优势,例如特定安全要求、共同宗旨等社区成员共同使用云数据及应用程序
1.3 生产数据三个阶段
数据库技术使得数据的保存和管理变得简单,业务系统在运行时产生的数据直接保存数据库中,这个时候数据的产生是被动的,数据是随着业务系统的运行产生的。
互联网的诞生尤其是Web 2.0、移动互联网的发展大大加速了数据的产生,人们可以随时随地通过手机等移动终端随时随地地生成数据,人们开始主动地生成数据
感知技术尤其是物联网的发展促进了数据生成方式发生了根本性的变化,遍布在城市各个角落的摄像头等数据采集设备源源不断地自动采集、生成数据。
1.4 云计算特点
云计算系统的一个重要特征就是资源的集中管理和输出,这就是所谓的资源池。从资源低效率的分散使用到资源高效的集约化使用正是云计算的基本特征之一。分散的资源使用方法造成了资源的极大浪费,资源集中起来后资源的利用效率会大大地提高,随着资源需求的不断提高,资源池的弹性化扩张能力成为云计算系统的一个基本要求,云计算系统只有具备了资源的弹性化扩张能力才能有效地应对不断增长的资源需求。
云计算系统带给客户最重要的好处就是敏捷地适应用户对资源不断变化的需求;云计算系统实现按需向用户提供资源能大大节省用户的硬件资源开支,用户不用自己购买并维护大量固定的硬件资源,只需向自己实际消费的资源量来付费;按需提供资源服务使应用开发者在逻辑上可以认为资源池的大小是不受限制的,应用开发者的主要精力只需要集中在自己的应用上。
现有的云计算平台的重要特点是利用软件来实现硬件资源的虚拟化管理、调度及应用。在云计算中利用虚拟化技术可大大降低维护成本和提高资源的利用率。
从最终用户的角度看,基于云计算系统的应用服务通常都是通过网络来提供的,应用开发者将云计算中心的计算、存储等资源封装为不同的应用后往往会通过网络提供给最终的用户。云计算技术必须实现资源的网络化接入才能有效地向应用开发者和最终用户提供资源服务。以网络技术的发展是推动云计算技术出现的首要动力。
用户数据存储在服务器端,而应用程序在服务器端运行,计算由服务器端来处理。所有的服务分布在不同的服务器上,如果什么地方(节点)出问题就在什么地方终止它,另外再启动一个程序或节点,即自动处理失败节点,从而保证了应用和计算的正常进行。数据被复制到多个服务器节点上有多个副本(备份),存储在云里的数据即使遇到意外删除或硬件崩溃也不会受到影响。
云服务商组建一个采用大量的商业机组成的机群相对于同样性能的超级计算机花费的资金要少很多。租户节省购买大量硬件的资金
1.5 数据来源
- 管理信息系统
- 网络信息系统
- 物联网系统
- 科研实验系统
1.6 大数据特点
大量(Volume)、高速(Velocity)、多样(Variety)、低价值密度(Value)、真实性(Veracity)
1.7 大数据应用领域
科学计算(基因计算)、金融(股票交易)、社交网络(Facebook)、移动数据(移动终端)、物联网(传感网)、网页数据(新闻网站)、多媒体(视频网站)
1.8 大数据处理系统
-
数据查询分析计算系统(HBase、Hive、Hana)
-
批处理系统(Hadoop、Spark、MapReduce)
这种系统是对互联网中产生的海量的静态的数据进行处理。例如对客户在网站中的点击量和网页的浏览量等数据进行处理,从而或者客户对哪些商品比较偏爱。
- 流式计算系统(Scribe、Storm、Flume)
这种系统是对互联网中大量的在线数据进行实时处理。这些在线数据具有复杂的格式,并且数据是连续不断地来源于众多的渠道,该种系统需要对这些实时的数据进行实时的、快速的处理。例如生物体中
传感器的数据、商场人流量数据、定位系统的数据都需要高效地实时处理。
- 迭代计算系统(HaLoop、Spark、Twister)
- 图计算系统(Pregel、Giraph、GraphX)
- 内存计算系统(Dremel、HANA、Spark)
补充:HBase(Hadoop Database)
- HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用该技术可在廉价服务器搭建大规模结构化存储集群,其是Hadoop项目的子项目。不同于一般的关系数据库,是一个适合于非结构化数据存储的数据库。另一个不同的是,HBase的模式是基于列的而不是基于行的。
- 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。
- 定义:利用高速计算机网络将物理上分散的多个数据存储单元连接起来组成一个逻辑统一的数据库
- 基本思想:将原来集中式数据库中数据分散存储到多个通过网络连接的数据存储节点上,以获取更大的存储容量和更高的并发访问量
1.9 大数据处理基本流程
①:从数据中提取出关系和实体,经过关联和聚合等操作,按照统一定义的格式对数据进行存储。
②:用户根据自己的需求对这些数据进行分析处理,如数据挖掘、机器学习、数据统计等,数据分析可以用于决策支持、商业智能、推荐系统、预测系统等
③:这是用户最关心的数据处理的结果;可视化:标签云、历史流、空间信息流;人机交互:引导用户对数据逐步分析,使用户参与到数据分析过程中,使用户可以深刻地理解数据分析结果。
1.10 云计算时代的基本的3种角色
- 资源的整合运营者、资源的使用者、终端客户。
1.11 大数据
- 大数据是现有数据库管理工具和传统数据处理应用很难处理的大型、复杂的数据集,大数据的技术包括采集、存储、搜索、共享、传输、分析和可视化等。
1.12 内在动力
在信息产业的发展历程中,作为两个重要的内在动力再不同时期起着重要作用。
1.13 云计算发展两大主题
- 计算和数据
1.14 科学家
- 超级计算机之父――Seymour Cary(西摩·克雷)建造了世界上第一台基于晶体管的超级计算机
- 云计算之父――Joho McCarthy(约翰·麦卡锡)最早预言"今后计算机将会作为公共设施提供给公众"
- 互联网之父――Tim Berners-Lee(蒂姆·伯纳斯·李)万维网的发明人,世界上第一个网页的开发者
- 大数据之父――Jim Gary(吉姆·克雷)提出了第四范式
1.15 大数据相关技术
1.15.1 数据收集
- 数据处理的基础和前提,数据分析的根本保证
1.15.2 数据存储
- 数据存储的方式和存储的媒介会影响数据分析和处理方式,是数据使用的可行性条件
1.15.3 数据分析
- 数据使用的手段,通过绘制图标、数据比对等手段进行数据分析
1.15.4 数据再利用
- 大数据的关键,再利用是创造价值的前提,是大数据的最终目的
1.16 物联网产业链
物联网(“The Internet of Things”,简称:IOT)产业链可细分为4个环节,因此物联网每个环节主要涉及的关键技术包括:射频识别技术、传感器技术、传感器网络技术、网络通信技术等。
第二章 大数据基础
2.1 科学研究四范式的发展历程
① 观测 实验
② 理论(计算萌芽)
③ 计算仿真 (面向计算)
④ 数据(面向数据)
2.2 非关系型数据库
2.2.1 产生
- 云计算技术对数据库高并发读/写的需求,对海量数据的高效率存储和访问的需求,对数据库的高可扩展性和高可用性的需求都让传统关系型数据库系统显得力不从心。同时关系型数据库技术中的一些核心技术要求如:数据库事务一致性需求,数据库的写实时性和读实时性需求,对复杂的SQL查询,特别是多表关联查询的需求等在Web 2.0技术中却并不是必要的,而且系统为此付出了较大的代价。非关系型数据库技术的出现是云计算、大数据技术的必然需求。非关系型数据库,又被称为NoSQL(Not Only SQL),意为不仅仅是SQL(Structured Query Language,结构化查询语言),—NoSQL描述的是大量结构化数据存储方法的集合
2.2.2 定义
- 非关系型数据库,又被称为NoSQL(Not Only SQL),意为不仅仅是SQL,结构化查询语言)NoSQL主要是指非关系型、分布式、不提供ACID(数据库事务处理的四个基本要素)的数据库设计模式,描述的是大量结构化数据存储方法的集合
2.2.3 分类
(根据结构化方法以及应用场合的不同)
-
:面向检索的列式存储,其存储结构为列式结构,能让很多统计聚合操作更简单方便,使系统具有较高的可扩展性。
-
:面向高性能并发读写的缓存存储,以键值对存储,能够提供非常快的查询速度、大数据存放量和高并发操作,非常适合通过主键对数据进行查询和修改等操作。
-
:面向海量数据访问的文档存储,类似于键值对,但这个值主要以JSON或XML格式的文档来进行存储,这种存储方式可以很方便的被面向对象的语言使用。
2.3 一致性哈希算法
2.3.1 基本原理
- 传统的哈希算法在节点数没有变化时能很好的实现数据的分配,但当结点数发生变化时传统的哈希算法将对数据进行重新的分配,这样系统恢复的代价就非常大。
- 解决节点频繁变化时的任务分配问题。
- 将服务器的IP地址或者主机名作为关键字进行哈希,确定每个节点在哈希环上的位置;将数据的关键字也用同样的哈希函数映射到哈希环上,然后沿着该环顺时针向后,将遇到的第一个节点作为处理节点(向上取整);当增加或者减少节点时,只会影响与之相邻的某一节点,其他节点不受影响。
- 解决节点负载不均衡问题(当结点数少的时候,根据哈希函数将节点映射到哈希环中,会导致分布不均匀),即对每一个节点计算多个hash值,尽量保证这些hash值比较均匀的分布在哈希环中。当根据Key查找节点时,找到的是虚拟节点,然后再跟据虚拟节点查找对应的真实节点。
2.3.2 计算和存储位置一致性
- 用户名加逻辑存储位置所构成的字符串在系统中是唯一确定的。
- 面向“小”数据,不涉及文件分块问题
- 数据块间的处理是独立的,保证节点间发起的计算是低耦合的
- 程序片的典型大小远小于需要处理的数据大小
- 数据的存储优先于计算发生。
- 将服务器节点以IP地址作为key以一致性哈希算法映射到哈希环上
- 数据以“用户名+文件逻辑位置”作为key,映射到哈希环上,顺时针找到最近的节点作为实际数据存储的位置
- 在发起计算任务时提取key值,映射到哈希环上,顺时针找到最近的节点注入程序并发起计算。(数据找服务器计算,计算完再走)
- 只要程序片需要处理的数据的逻辑位置是固定的,系统就会将计算程序片路由到数据存储位置所在的节点,节点的负载均衡有数据分布均衡来实现。
- 无中心节点的计算和数据定位使计算可以唯一的找到其所要处理和分析的数据,使计算尽可能地在数据存储的位置发起,从而节约大量的网络资源,同时避免了系统单点失效造成的不良影响。
- 面对海量文件系统不用维护庞大的元数据库来保存文件的存储信息,计算寻找数据的速度快,路由算法复杂度低。
一致性哈希算法的基本实现过程为:对Key值首先用MD5算法将其变换为一个长度32位的十六进制数值,再用这个数值对232取模,将其映射到由232个值构成的环状哈希空间,对节点也以相同的方法映射到环状哈希空间,最后Key值会在环状哈希空间中找到大于它的最小的节点值作为路由值。 一致性哈希算法的采用使集群系统在进行任务划分时不再依赖某些管理节点来维护,并且在节点数据发生变化时能够以最小的代价实现任务的再分配,这一优点特别符合云计算系统资源池弹性化的要求,因此一致性哈希算法成为了实现无主节点对等结构集群的一种标准算法。
2.3.3 图解
2.4 进化算法(蚁群算法)
- 由个体根据简单规则、通过正反馈、分布式协作依靠群体的力量自动寻找最优路径。
2.5 耗散结构
2.5.1 耗散结构定义
- 出现自组织现象的系统必须是耗散结构的。耗散结构理论指出:一个开放系统处在远离平衡的非线性区域,当系统的某个参数变化到一定临界值时,通过涨落,系统发生突变,即非平衡相变,其状态可能从原来的混乱无序的状态转变到一种在时间、空间或功能上有序的新状态,这种新的有序结构(耗散结构)需要系统不断的与外界交换物质和能量才能得以维持并保持一定的稳定性。
2.5.2 耗散结构形成条件
- 自动从无序状态形成并维持在时间上、空间上或功能上的有序结构状态。
- 系统必须是开放的
- 系统需要保持远离平衡态
- 系统内部存在着非线