和同学探讨云,云里雾里,不知所以。
最近在做一个云计算的综述,于是想码下文字,深入了解一下“云”。
云计算是一个分布式的计算机集群,有计算的服务器,有存储的服务器,是现在十分火爆的商业计算模式,也是一个分布在很多计算机上的资源群,其实就是对计算机的横向扩展。
存储上采用文件存储系统,这里可以是GFS也可以是HGFS,一个数据节点实现多个备份,并且将这些备份分布在不同的计算机节点上,实现计算机数据的可靠性和安全性,避免单点故障。把单台的计算机或者是服务器的数据和资源放到这个资源池中,用户可以按需存取而不用考虑自己所需要的资源放在那一朵“云”上,也就Hadoop的HDFS中,取数据的时候并不知道自己所需要的数据具体在哪个节点上,但是仍然可以高效的获得所需要的数据。
这里是如何进行高效获取数据的呢?
实际上用到了并行计算,数据存储的时候被分割是多个数据块,也就是block,这些blocks不仅仅备份存储,而且还是分布在不同的计算机节点上。举个例子,数据A可以分成数据块B、数据块C,数据块D,每个数据块又分布在节点A,B,C上,数据块A1,B1,C1是A,B,C的备份,分布在其他的计算机节点上。当用户取数据A的时候,只需要从相应的计算机上取即可,这样就可以实现并行存、并行取了。
所以云计算核心技术主要有三个方面,分布式处理、并行计算以及网格计算。编程模式采用的则是Map-Reduce的计算框架,用户只需要编写Map和Reduce的函数,定义数据的处理规则就可以分布式的将一个计算任务分布到多个计算节点上。map实现的是打散一个整任务,而reduce则是把被打散的整任务按照自己的规则进行重新整合。
网格计算是什么呢?
网格计算即分布式计算,是一门计算机科学。它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终结果。
但是网格计算和云计算也有着非常实质的区别。
云计算前途不错,互联网公司的数据存储问题迟早会成为问题,将数据搁到云上也是必然的趋势。同时对软件以及硬件的使用也带来了一个新的模式和方案。通过云计算,用户可以不必购买新的服务器和部署软件,就可以得到应用环境或者应用本身。对于用户来说,软硬件不必是部署在自己身边的、专属于自己的产品,而是可以变身为可利用的、虚拟的一种资源。而且,可以利用的软硬件资源也不仅限于自己企业内部的设备和软件,而是可以通过网络得到扩展的软硬件资源。
祝自己端午节快乐~~