一、云数据库概念 云数据库是在 SaaS(software-as-a-service:软件即服务)成为应用趋势的大背景下发展起来的云计算技术,它极大地增强了数据库的存储能力,消除了人员、硬件、软件的重复配置,让软、硬件升级变得更加容易,同时也虚拟化了许多后端功能。云数据库具有高可扩展性、高可用性、采用多租形式和支持资源有效分发等特点。可以说,云数据库是数据库技术的未来发展方向。目前,对于云数据库的概念界定不尽相同,主要有: 云数据库即CloudDB,或者简称为“云库”。它把各种关系型数据库看成一系列简单的二维表,并基于简化版本的SQL或访问对象进行操作。[1] 云数据库定义是:云数据库是部署和虚拟化在云计算环境中的数据库。[2] 云数据库解决了数据集中与共享的问题,剩下的是前端设计、应用逻辑和各种应用层开发资源的问题。使用云数据库的用户不能控制运行着原始数据库的机器,也不必了解它身在何处。 如图 1 所示,在云数据库应用中,客户端不需要了解云数据库的底层细节,所有的底层硬件都已经被虚拟化,对客户端而言是透明的。它就像在使用一个运行在单一服务器上的数据库一样,非常方便、容易,同时又可以获得理论上近乎无限的存储和处理能力。 二、云数据库的特性 云数据库具有以下特性:[3] (1) 动态可扩展:理论上,云数据库具有无限可扩展性,可以满足不断增加的数据存储需求。在面对不断变化的条件时,云数据库可以表现出很好的弹性。例如,对于一个从事产品零售的电子商务公司,会存在季节性或突发性的产品需求变化;或者对于类似 Animoto 的网络社区站点,可能会经历一个指数级的增长阶段。这时,就可以分配额外的数据库存储资源来处理增加的需求,这个过程只需要几分钟。一旦需求过去以后,就可以立即释放这些资源。 (2) 高可用性:不存在单点失效问题。如果一个节点失效了,剩余的节点就会接管未完成的事务。而且在云数据库中,数据通常是复制的,在地理上也是分布的。诸如 Google,Amazon 和 IBM等大型云计算供应商具有分布在世界范围内的数据中心,通过在不同地理区间内进行数据复制,可以提供高水平的容错能力。例如,Amazon SimpleDB 会在不同的区间内进行数据复制,因此,即使整个区域内的云设施发生失效,也能保证数据继续可用。 (3) 较低的使用代价:通常采用多租户(multi-tenancy)的形式,这种共享资源的形式对于用户而言可以节省开销;而且用户采用按需付费的方式使用云计算环境中的各种软、硬件资...