云计算关键技术
云计算是随着互联网而发展起来的技术,没有高速、稳定的网络云计算就无从谈起。除网络之外,云计算的实现在技术层面上的关键技术包括虚拟化技术、分布式数据处理技术与存储技术。
(一)存储技术
云存储技术是通过分布式存储方式来实现用户数据的有效存储。分布式存储既实现了冗余存储带来的可靠性需求,又可以高效地为大量并行用户提供数据使用服务。在分布式存储中,相同内容的用户数据通常有多个副本存储在不同区域的存储器内,保证了数据的高可用性。
目前云计算领域内最主要的数据存储技术有GFS (Google file system)和Hadoop两种分布式文件系统,GFS主要是谷歌公司发明并使用的非开源技术,其他大部分云计算公司采用的是Hadoop开源数据存储技术。GFS是一个管理大型分布式数据密集型计算的可扩展的分布式文件系统。它使用廉价的商用硬件搭建系统并向大量用户提供容错的高性能的服务。
(二)虚拟化技术
虚拟化技术就是在现有资源的情况下实现所有资源的高效利用和有效整合,达到资源的快速部署,满足用户需求的不断变化需求。这些特点和功能决定了虚拟化技术必将是云计算的核心技术。在虚拟化环境下,系统部署与分布式计算环境的搭建更易于实现和管理。
(三)数据管理技术
云计算与大数据是密不可分的关系,大数据一般都存储在云上,而云计算通常处理的都是大数据。云计算在数据管理上以数据的存储、读取与分析为主,与之相比,数据的更新操作处于次要地位。因此,云计算的数据管理技术主要以数据的读优化为主,这种模式通常采用数据库领域中列存储的管理模式,将数据表按列进行划分和存储。与数据存储一样,谷歌的BigTable 数据管理技术也是行业的领导者,Hadoop具有自己的数据管理技术,与谷歌的BigTable功能相似,并且开源。
(四)编程模式
云计算将复杂的计算和任务的调度执行隐藏在后台,在前台提供简单的编程模型给用户进行编写程序,大大降低了用户在云上编成的难度,从而更加轻松的驾驭云。云计算采用的是类似MAP- Reduce的编程模式。这也是目前大部分云计算所采用的模型。与传统编程模式相比,该编程模式更加适合编写具有任务内部松耦合,并且并行化程度很高的程序。