云计算它是一种计算模式,利用互联网技术把大量的可扩展的和弹性的IT相关的技能作为一种服务提供给多个用户
1998年VMWare成立并首次引入X86的虚拟技术
2005年Amazon发布Amazon Web Services云计算平台
2010年OpenStack诞生
2013年BigData
云计算的特点:服务计算,效用计算(像用电一样),云的优势(弹性计算/存储,动态资源调度,多租户,软件定义)
虚拟化:软件定义资源的一种技术手段,便于在云中实现资源管理和池化
分布式计算:分布式计算是研究如何将计算非常复杂的巨大任务划分为若干个计算量较小的任务,然后把这些小任务分配给许多计算机进行处理,最后把这些中间结果整合到一起形成最终的结果
云计算的服务类型主要有SaaS、PaaS、IaaS
云计算的体系结构:
并行计算编程模型MapReduce:
1.在设计之初就考虑了数据的局部性原理,利用局部性原理将整个问题分而治之。
2.MapReduce编程模型将数据处理过程抽象成Map和 Reduce两个阶段。
3.用MapReduce模型编程时,程序员的主要工作是编写以下两个函数:
Map(key-in,value-in)→
list(key-out,value-intermediate)
Reduce(key-out,list(value-intermediate))→
list(value-out)
MapReduce的设计思想:
1.它是横向扩展的而不是纵向扩展的
2.它的处理向数据迁移
3.它有着平滑无缝的可扩展性
4.顺序的处理数据,从而避免了随机访问数据
Mapreduce编程模型的实现可以抽象为Master,Worker,UserProgram这三个角色