4.2 数据库云平台的特点
传统的关系型数据库管理系统在锁机制、日志机制、缓冲区管理等方面一定程度上制约了系统性能,比如①通信:应用程序通过开放数据库互连(ODBC)或Java数据库连接(JDBC)与数据库管理系统进行通信是联机事务处理系统(OLTP)事务中的主要开销;②日志:关系型数据库事务中对数据的修改需要记录到日志中,而日志则需要不断写到硬盘上来保证持久性,这种代价是昂贵的,而且降低了事务的性能;③锁:事务中修改操作需要对数据进行加锁,这就需要在锁表中进行写操作,造成了一定的开销;④闩:关系型数据库中一些数据结构,如B树、锁表、资源表等的共享影响了事务的性能,这些数据结构常常被多线程读取,所以需要短期锁,即闩:⑤缓冲区管理:关系型数据将数据组织成固定大小的页,内存中磁盘页的缓冲管理会造成一定的开销。凡此种种,曾经被普遍误认为是由于支持ACID和SQL等特性限制了数据库的扩展和处理海量数据的性能,现在人们通过一些新的设计,如取消了耗费资源的缓冲池,在内存中运行整个数据库;摈弃单线程服务的锁机制,并通过使用冗余机器来实现复制和故障恢复,取代原有的昂贵的恢复操作。
这样,数据库云平台就实现了可扩展、高性能,并具备传统的关系型数据库的优良特性,其主要特性如下:
1.动态可扩展
理论上,数据库云平台具有无限可扩展性,可以满足不断增加的数据存储需求。在面对不断变化的条件时,数据库云平台可以表现出很好的弹性。例如一个从事产品零售的电子商务公司会面临季节性或突发性的产品需求要求,类似Animoto的网络社区站点可能会经历一个指数级的增长阶段,这时就可以分配额外的数据库存储资源来处理增加的需求,这个过程只需要几分钟,一旦需求过去,就可以立即释放这些资源。
2.高可用性
数据库云平台不存在单点失效问题,如果一个结点失效了,剩余的结点就会接管未完成的事务。而且在数据库云平台中,数据通常是复制的,在地理上也是分布的,诸如Google、Amazon和IBM等大型云计算供应商具有分布在世界范围内的数据中心,通过在不同地理区间内进行数据复制可以提供高水平的容错能力。例如,Amazon SimpleDB会在不同的区间内进行数据复制,因此,即使整个区域内的云设施发生失效,也不影响数据的继续使用。
3.较低的建设成本(使用代价)
数据库云平台通常采用多租户(multi-tenancy)的形式,其共享资源的形式对于用户而言可以有效节省开销;可以采用按需付费的方式,使用云计算环境中的各种软、硬件资源有效避免资源浪费。另外,数据库云平台底层存储可以采用大量廉价的商业服务器,能够大幅降低用户建设成本。
4.较高的易用性
公有云上的数据库云平台用户不必控制运行原始数据库的机器,也不必了解它身在何处,私有云上的终端用户也无须维护原始数据库的机器,用户只需要一个有效的链接字符串就可以开始使用数据库云平台,非常简单、易用。
5.大规模并行处理
数据库云平台支持几乎实时的面向用户的应用、科学应用和新类型的商务解决方案。