云计算是以数据为中心的一种数据密集型的超级计算。在数据存储、数据管理、编程模式、并发控制、系统管理等方面具有自身独特的技术。
海量分布式存储技术
为保证高可用、高可靠和经济性,云计算采用分布式存储的方式来存储数据和冗余存储的方式来保证存储数据的可靠性,从而提供廉价可靠的系统。为了满足大量用户的需求,数据存储技术必须具有高吞吐率和高传输率的特点。
云计算的数据存储系统主要有GoogleGFS(GoogleFileSystem)和Hadoop开发团队的开源系统HDFS(HadopDistributedFileSystem)。大部分IT厂商,包括Yahoo、Intel的“云”计划采用的都是HDFS的数据存储技术。
并行编程模式
为了高效地利用云计算的资源,使用户能更轻松地享受云计算带来的服务,云计算的变成哦是必须保证后台复杂的并行执行和任务调度向用户和编程人员透明。云计算采用MapReduce编程模式,将任务自动分成多个子任务,通过Map和Reduce两部实现任务在大规模计算节点中的调度与分配。
数据管理技术
云计算系统对大数据集进行处理、分析,向用户提供高效的服务。因此,数据管理技术必须能够高效地管理大数据集。其次,如何在规模巨大的数据中找到特定的数据,也是云计算数据管理技术所必须解决的问题。云系统的数据管理往往采用列存储的数据管理模式,保证海量数据存储和分析性能。云计算的数据管理技术最著名的是Googe的BigTable数据管理技术,同事Hadop开发团队开发了累死BigTable的开源数据管理模块HBase。
分布式资源管理技术
在多节点并发执行环境,分布式资源管理系统是保证系统状态正确性的关键技术。系统状态需要在多节点之间同步,关键节点出现故障时需要迁移服务,分布式资源管理技术通过锁机制协调多任务对于资源的使用,从而保证数据操作的一致性。Google的Ghubby是最锥你给的分布式资源管理系统。
云计算平台管理技术
云计算资源规模庞大,一个系统的服务器数量可能会高达十万台并跨越几个坐落于不同物理地点的数据中心,同时还运行成百上千种应用。如何有效地管理这些服务器,保证这些服务器组成的系统