可扩展的云关系型数据库的研究
2012-07-27陈平平谭定英刘秀峰
陈平平,谭定英,刘秀峰
(广州中医药大学 信息技术学院,广东 广州510006)
0 引 言
如何高效存储和管理企业日渐增长的庞大数据成为数据库服务一个挑战性问题。为了适应这Z种增长需求,云数据库服务产生了[1-2]。
到目前为止,Amazon的SimpleDB,Google的Bigtable和雅虎的HBase是公开的云数据库服务[3-4]。但是,它们都不是基于关系型数据库的[5-6]。因此,当用户想将关系数据库的应用迁移到 SimpleDB 时,必须做大量的修改[7-8]。Amazon的RDS是一种云关系型数据库,它提供了一种容易使用的云关系型数据库服务[9-10]。但它的可扩展性有限,目前只支持单实例[11-12]。
1 架构概述
可扩展的云关系型数据库平台架构如图1所示,平台分为四层。第一层为API层,它向第三方的应用程序提供可供调用的服务,包括SDK和开放式存储服务(open storage services,OSS)。第二层为应用服务器(app server,AS)层,它是核心层,向上提供数据操作服务供API层调用。第三层为分布服务器(distribution server,DS)层,提供数据分布策略。第四层为数据节点(data node,DN)层,提供了可扩展性的数据物理存储,在DN层,多个DN成组成冗余集(redundant set,RS),多个RS组成节点组(node group,NG)。

图1 可扩展云关系型数据平台架构
2 API层
API层是可扩展的云关系型数据库平台的服务层,包括SDK和OSS。API层的内部结构如图2所示。

图2 API层架构
2.1 SDK机制
SDK远程调用OSS,并提供简便的语言相关的开发接口。SDK提供面向对象的接口以屏蔽的调用远程Web服务的复杂性。
在架构中,用户的数据存储在关系数据库管理系统中,因此SDK必须解决面向对象和关系型数据的映射问题。SDK根据应用程序的对象类,自动生成关系型表结构并建立相应的索引,并为有引用关系的对象类之间生成外键关联。……
