非共享架构下的云数据库数据访问技术探究
2014-01-03陈浩
陈 浩
(东北石油大学,黑龙江大庆,163318)
1 云数据库概述
所谓的云数据库是指储存在云中的资源,是在SaaS 应用发展起来的背景下而发展的一种云计算技术。通过该技术可极大的提高当前数据库的储存的能力,并减少对软硬件的重复配置。因此,林子雨等人对云数据库的定义则是指在云计算的环境中进行部署和虚拟化的数据库的索引。
而康一梅等人认为,所谓的云数据库是指由若干个不同的站点组成,这些站点又被称为节点,他们在云中相互连接起来,并拥有各自的不同的数据库。因此,可将云数据库看做是一个统一的集中式的数据库系统,在逻辑上属于统一的,但是从物理结构的角度,其实属于分布的。
而随着云数据库的发展,现在比较流行的数据库有微软的SQL Azure、谷歌的GFS 分布式文件系统等。而云数据库存储和计算体系如图1 所示。
2 云数据库的特性
云数据库作为建立在SaaS 应用之上的新型云计算技术,而被广大的计算机爱好者使用,其主要是因为云数据库与传统的数据库相比,具有以下的特性:
2.1 可动态扩展性
通过康一梅等人对云数据库的表述,则可以认为,云数据库从理论上来看,是具有无限的扩展性,从而可以满足不断增加的数据存储需求。因此,从上述的分析中,我们可以看出云数据库具有很好的可扩展的弹性。以360 或者是腾讯的云端存储为例,如采用原来的硬件作为其个人用户的存储工具,则需要很大的硬件储存设备,而通过云数据库,其现有的云端存储能力急剧加大,从而大大提高了个人用户对网络云端的存储的效率。而其网络云端存储也在逐步的扩大。
图1 云计算体系衍生的云存储体系架构
2.2 较低的使用价值
云数据库的最大的特点是解决了数据的共享问题。在云数据库管理中,通过采用多租户的方式,从而极大的给用户节约了开支,同时租户只需要按照每月付费的方式,就可使用云数据库当中的各种不同的软件、硬件等资源,并不需要产生其他的额外的费用。而通过林子雨等人对云数据库的定义,可以看出其大量的数据的存储是集中在虚拟的硬件之中,因此,通过这种方式可以大量的减少对数据库使用的成本,从而可大量的减少对与数据库使用的费用。
2.3 高可用性
在对云数据的使用中,不存在任何的单点失效的问题。如果在使用任何的节点失效,其余的剩下的节点会立即进行接管,并且在运输局库当中国,数据一般都是通过复制的,在地理上则是通过布置在全球的商业服务器进行复制,从而提供高水平的数据容错能力。如谷歌通过在全球部署的25000 个代理服务器,即使其中任何代理服务器出现问题,其他的也可继续提供使用,而不会导致用户的数据出现问题。
2.4 易用性
对云数据库的使用,用户则不需要通过购买原始的硬件设别等方式,同时也没有必要了解云数据库所存放的地方,而指需要一个有效的链接字符串即可对云数据库进行使用。
3 非共享架构下的云数据库访问的实例研究
现阶段的非共享架构下的数据访问,通常与其不同的结构体系有着很大的关系。而当前主流的云数据库结构体系通常以微软为代表的关系数据模型与以谷歌、甲骨文为代表的键/值数据模型为主。而其对数据库的访问,通常采用建立映射的方式实现对数据库的访问。
图2 云数据库中的数据访问方法
当客户端在发出相关的数据请求的时候,其首先会向管理器请求一份分区的映射图,在请求发送之后,管理器会向客户端发送相应的映射图,并在图中进行相应的搜索,并通过自身的键值来查找相应数据的位置;在找到相应的数据节点之后,客户端会向相应的数据节点发送数据请求,数据节点则会根据请求将相应的数据传递给客户端。而在实际的操作上,为改变客户端访问的瓶颈,通常会在客户端建立缓存区域,存储其常用的分区映射图,这样便可在不需要与管理器交互的情况下即可使用相应的接点,从而大大提高了对数据的利用。
而采用该种方式的如BigTable,在该云数据库中,其所为的数据节点的服务器被称为Tablet 服务器,而管理器又被称为主服务器。主服务器的作用是负责将Tablet 按照相应的逻辑分配到Tablet 服务器上,并可对Tablet 服务器做出负载的均衡,以及实现对GFS 文件系统当中的垃圾文件的收集。
除上述的功能外,主管理器还可负责处理模式的变化,如对表、列的创建,从而使得客户端不需要直接从主服务器上去读取数据,而只需要从Tablet 服务器上面去读取相应的数据即可,这样就是的客户端不需要更多的去依赖主服务器,从而使得主服务器的负载压力会减少很多。
而针对HBase 则采用与BigTable 其类似的方式来实现对数据库的访问。但与BigTable 不同是,其数据的存储是由一个表当中排序的行所构成的,可使得所有的表、行都可存储在一个集合中。
而针对关系模型的数据库,通过建立树型节点的方式来实现对数据库的访问。如HugeTablel 为分布式的数据系统,其采用标准的SQL 语言执行查询,并可支持高性能的全局的索引,并采用多主服务器的机制以及可靠的Zookeeper 系统,保证其服务单点的失效。通过客户端的的数据请求,并通过其中的主服务的组件,采用ODBC/JDBC 等接口实现对数据访问的驱动,以此实现对数据的访问。
图3 可扩展分布式关系型系统体系架构
4 结束语
本文对于非共享架构下的云数据的访问,以其特征和概念的角度出发,借鉴相关文献和研究成果,提出可通过建立映射的方式实现对数据的访问,从而提高对云数据库技术利用的效率。
[1] 林子雨,赖永炫,林琛,谢怡,邹权.云数据库研究[J]. 软件学报,2012,05:1148-1166.
[2] 刘桂兰,王书海.云数据库体系架构研究分析[J].河北省科学院学报,2013,02:75-80.