4.3 数据库云平台的分类
数据库云平台是一个较为宽泛的概念,通常可以分为数据库即服务和分布式数据库两类。
4.3.1 数据库即服务
数据库作为服务提供了传统关系型数据库和NoSQL的混合解决方案,既兼容诸多关系型数据库的应用,同时还能提供NoSQL的可扩展性。这种数据库云平台拥有关系型数据库产品和服务,并将关系模型的好处带到分布式架构上,开发人员使用它能够方便地在云中运行应用,同时自动向上或向下扩展,同时还能保证出现故障或数据库结构变更时不影响可用性。通过在底层运行多个复制版本,并对最终用户透明,保证了最终用户无须担心故障恢复问题,确保了高可用性。这类数据库的典型代表为Xeround、Clustrix、GenieDB、ScalArc、ScaleBase、NimbusDB以及带有NDB的MySQL集群、Drizzle等。
4.3.2 分布式数据库
分布式数据库可以定义为分布于计算机网络上的、逻辑上相互联系的多个数据库的集合。分布式数据库管理系统可以定义为管理分布式数据库系统的软件系统,并使得分布对于用户透明。这种新型的数据库云平台具备了良好的性能,用户无须考虑水平扩展问题。这种数据库云平台具备ODBC/JDBC驱动,也可以通过一套通用的API访问数据。这类数据库的典型代表为Tokutek、JustOne DB以及一些“NewSQL即服务”(包括Amazon的关系数据库服务、Microsoft的SQL Azure、FathomDB等)。
VoltDB是内存中的关系型数据库,带有SQL和ACID事务支持,同时集成Hadoop和联机分析处理(OLAP)数据库,使用Shared-nothing架构,提供了出色的可扩展性。
Database.com的服务通过Progress Software的ODBC和JDBC Connect Drivers连接驱动提供(笔者成稿前,仍是beta版本)。
NuoDB也是一个NoSQL数据库,带有SQL前端,可以解析SQL 92标准语句,同时支持99标准扩展,应用也可以通过ODBC、JDBC以及ActiveRecord驱动访问。NuoDB可以在任何键/值对存储中运行,而且可以部署在Amazon和Rackspace等云之上(笔者成稿前,仍是beta版本)。