赞
踩
云计算(Cloud Computing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。
云计算是一种按使用量付费的模式,这种模式是提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池,这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。
云计算是继20世纪80年代大型计算机到客户/服务器的大转变的又一种巨变。
云计算是分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、网络存储(Network Storage Technologies)、虚拟化(Virtualization)、负荷均衡(Load Balance)、热备份冗余(High Available)等传统计算机和网络技术发展融合的产物。
定义:
分布式计算是一种计算方法,和集中式计算是相对的。
分布式计算将应用分解为许多更小的部分,分配到多台计算机进行处理,这样可以节省整体计算时间,大大提高计算效率。
优点:
发挥“集体的力量”,将大任务分解成小任务,分配给多个计算节点同时去计算。
定义:
虚拟化技术是云计算系统的核心组成部分之一,是将各种计算及存储资源充分整合和高效利用的关键技术。
优点:
资源共享
资源定制
细粒度资源管理
软件及服务(Software as a Service,SaaS)
平台及服务(Platform as a Service,Paas)
基础设施服务(Infrastructure as a Service,IaaS)
基本云交付模型的比较
云交付模型 | 服务对象 | 使用方式 | 关键技术 | 用户的控制等级 |
---|---|---|---|---|
IaaS | 需要硬件资源的用户 | 使用者上传数据、程序代码、环境配置 | 虚拟化技术、分布式海量数据存储等 | 使用和配置 |
PaaS | 程序开发者 | 使用者上传数据、程序代码 | 云平台技术、数据管理技术等 | 有限的管理 |
SaaS | 企业和需要软件应用的用户 | 使用者上传数据 | Web服务技术、互联网应用开发技术等 | 完全的权限 |
公有云
为外部客户提供服务的云,它所有的服务是供别人使用,而不是自己使用
私有云
指企业自己使用的云,它所有的服务不是供别人使用,而是供自己内部人员或分支机构使用
混合云
指供自己和客户共同使用的云,它所提供的的服务既可以供别人使用,也可以供自己使用
优点:
HDFS是一个高度容错性的系统,适合部署在廉价的机器上
HDFS能够提供高吞吐量的数据访问,非常适合大规模数据集上的应用
客户端访问HDFS中文件的流程:
(1)从NameNode获取组成这个文件的数据块位置列表
(2)根据位置列表得到储存数据块的DataNode
(3)访问DataNode获取数据
分块的原因:
- HDFS将文件数据分割成若干数据块(Block),每个DataNode存储
一部分数据块,这样文件就分布存储在整个HDFS服务器集群中
- 应用程序客户端(Client)可以并行地对这些数据块进行访问,极大
地提高了访问速度
HBase以表的形式存放数据。表由行和列组成,每个列属于某个列簇,由行和列确定的存储单元称为元素,每个元素保存了同一份数据的多个版本,由时间戳来表示区分。
BigTab——分布式数据存储系统
特点:
广泛应用性、可扩展性、高性能、高可用性
HBase——非关系型分布式数据库
**特点:**高可靠、高性能、面向列、可伸缩
**优点:**存储非结构化和半结构化的数据
CPU多核
多任务能力强
MPI并行计算框架
是一个标准且可移植的消息传递系统,服务于大规模的并行计算。广泛采用的实现有 MPICH
Hadoop MapReduce
Hadoop框架最核心的设计就是HDFS和MapReduce,HDFS为海量的数据提供存储,而MapReduce为海量的数据提供计算。
Spark
Spark是一个高性能的内存分布式计算框架,具备扩展性、任务容错等特性。
Spark 基于 map-reduce 算法实现的分布式计算,拥有 Hadoop MapReduce 所具有的优点。
在计算中间结果方面:
Spark要求计算结果快速返回、处理任务低延迟,因此Spark基本把数据存放在内存中。
MapReduce计算过程把Map任务产生的计算结果放到本地磁盘。
在计算模型方面:
Spark采用DAG描述计算任务,所有的RDD操作最后都采用DAG描述,然后优化分发到各个计算节点上运行,因此Spark拥有更丰富的功能。
MapReduce只采用Map( )和Reduce( )两个函数,计算功能比较简单。
在计算速度方面:
Spark采用内存作为计算结果的主要存储介质,速度更快。
MapReduce用本地磁盘作为中间结果存储介质。
在容错方面:
Spark采用和MapReduce类似的方式。针对丢失和无法引用的RDD:Spark采用记录的transformation,采取重新过已做过的transfromation。
在计算成本方面:
Spark需要高容量的内存。
MapReduce是面向磁盘的分布式计算框架。
因此Spark的计算成本高于MapReduce计算框架。
在简单易管理方面:
Spark在同一个集群上运行流处理、批处理和机器学习,同时Spark也可以管理不同的负载。MapReduce都做不到。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。