云计算和大数据基础知识
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
* 1: 100. 云计算
(一)大数据(BigData)
1. 定义:海量数据或巨量数据,其规模巨大到无法用当前主流的计算机系统在合理时间内获取、存储、管理、处理并提取以帮助使用者决策。
2. 特点:1)数据量大(Volume)-----PB 级以上
2)快速(Velocity)-----数据增长快
3)多样(Variety)-----数据来源及格式多样
4)价值密度低(Value )-----从大量、多样数据中提取价值的体系结构
5)复杂度(Complexity)-----对数据处理和分析的难度大
3.大数据与云计算的关系:
从技术上看,大数据与云计算的关系就像一枚硬币的正反面一样密不可分。大数据必然无法用单台的计算机进行处理,必须采用分布式计算架构。
它的特色在于对海量数据的挖掘,但它必须依托云计算的分布式处理、分布式数据库、云存储和虚拟化技术。
(二)云计算(Cloud Computing)
1.定义:1)云计算是一种商业计算模型。它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。
//分布式计算
2)云计算是通过网络按需提供可动态伸缩的廉价计算服务。
2. 特点:1)超大规模
2)虚拟化
3)高可靠性
4)通用性
5)高可伸缩性
6)按需服务
7)极其廉价
3. 服务类型分类:
1)SaaS(软件即服务::Software as a Service)
//针对性更强,它将某些特定应用软件功能封装成服务如:Salesforce online CRM
2)PaaS(平台即服务:Platform as a Service)//对资源的抽象层次更进一步,提供用户应用程序运行环境如:Google App Engine ,Microsoft Windows Azure
3)IaaS(基础设施作为服务:Infrastructure as a Service)//将硬件设备等基础资源封装成服务供用户使用,如:Amazon EC2/S3
4. 云计算的实现机制(体系结构)
1)SOA (面向服务的体系结构):它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。使得其服务能以一种统一的、通用的方式进行交互。
SOA可以看作是B/S模型、XML/Web Service技术之后的自然延伸。
2)管理中间件:(关键部分)
3)资源池层:将大量相同类型的资源构成同构或接近同构的资源池。
4)物理资源层:计算机、存储器、网络设施、数据库和软件等
5. 云计算与网格计算
1)网格是基于SOA、使用互操作、按需集成等技术,将分散在不同地理位置的资源虚拟化为一个整体。
2)关系类似于TCP/IP 协议之于OSI 模型
6. 云计算与物联网
1)物联网有全面感知,可靠传递、智能处理三个特征。云计算提供对智能处理所需要的海量信息的分析和处理支持。
2)云计算架构与互联网之上,而物联网依赖于互联网来提供有效延伸。因而,云计算模式是物理网的后端支撑关键。
* 1.1: 1. Google 云计算原理
(一)文件系统GFS
1)系统架构
2)实现机制:
①节点分类:Client ---- > Master ---- > Chunk Server
②Master 负责管理。Client 与Master 之间只有控制流,而没有数据流
【数据流与控制流分离】
③Client 可以同时访问多个Chunk Server 。
【高度的I/O 并行】
3)特点
①采用中心服务器【Master 掌握Chunk Server 情况,方便实现负载均衡】
②不缓存数据
③在用户态下实现
4)容错机制
①Master 容错: a. 对应Chunk Server 留有备份
②Chunk Server 容错: a. 多个副本备份(3个) b. GFS 每个文件被分为多个Chunk (64MB) c. Chunk 分为Block(64kb), 每个Block 对应一个32 bit 校验和
(二)分布式计算编程模型MapReduce
1)编程模型
①划分为M 个Map ,每一个Map针对不同的原始数据,互相独立、并行操作。
②Reduce 操作则是对每个Map 产生的中间结果进行合并。每个Reduce所处理的最终结果互不交叉,通过简单相连即可形成完整的结果集。
PS:Map: (in key, in value ) ---> N个Map
Reduce: ( key(value1,value2,... ) ) ---> 对相同的Key 对应的value 进行并行处理// 统计单词出现次数,每个Map 统计一部分文本,Reduce 进行合并。
2)实现机制
3)容错机制
①Master 失效:周期性地设置检查点,一旦任务失效,则从最近一个检查点重新执行
②Worker 失效:Master 周期性地ping Worker , Worker 不答复即失效,任务调度分配给其他Worker
(三)分布式锁服务Chubby
1)作用:Chubby是Google设计的提供粗粒度锁服务的一个文件系统,它基于松耦合分布式系统,解决了分布的一致性问题
2)Paxos 算法
①proposers (提议) ---> ②acceptors (接收并做出选择) ----> ③leaner (决策)
// 条件?
3)实现
(四)分布式结构化数据表BigTable
1)作用
①基于GFS 和Chubby 的分布式存储系统。
//类似数据库,存储了Google 海量数据,用户通过Key 查询
2)数据模型
行、列、时间戳:(row:string, column:string, time:int64)→string
//依次对应于三级索引
3)系统架构
Chubby 保证同一时间内只有一个主服务器(Master Server)
4)主服务器
①新子表分配②子表服务器状态监测③子服务器之间的负载均衡
5)子表服务器
①BigTable 中的实际数据以子表的形式保存在子表服务器上。子表服务器数据存储格式:SSTable 。(SSTable 文件存储于GFS 中)
②较新的数据存储于内存表(写操作)&& 较早的数据存储在SSTable 中(读操作)。
(五)分布式存储系统Megastore
1)一种介于传统的关系型数据库和NoSQL之间的存储技术,尽可能达到高可用性和高可扩展性的统一
2)底层数据存储于BigTable //应用于Google 旧时的系统,目前新技术为Spanner
(六)分布式监控系统Dapper
1)Google 基于故障驱动而设计的分布式系统的监控基础架构。