存储 频道

基于分布式数据库数据处理的研究

  3、分布式数据库层架构

  在选择通过数据库的中间代理层来解决数据的拆分和整合方案之后,我们选取开源的Amoeba框架,在它基础上开发出适合RS10的数据拆分和整合方案。

  Amoeba 是一个基于java开发的,专注于解决分布式数据库数据源整合的开源框架,可用来监视、分析或者传输他们之间的通讯信息,实现连接路由、Query分析、 Query过滤和修改、负载均衡以及基本的HA机制等。所有客户端请求都是通过这个中间层,然后经由中间层进行相应的分析,判断出是读操作还是写操作,然后分发到相应的数据库服务器上,我们基于这个框架来实现和部署RS10的分布式数据库,架构图如图4所示:

分布式数据库层架构
▲图4 分布式数据库层架构

  Amoeba能解决RS10以下问题:

  1、RS10分库分表以及拆分之后数据的整合;

  2、提供了数据拆分规则,降低拆分规则给数据库带来的影响;

  3、减少了数据库与客户端的连接数,用户只访问自己需要的数据;

  4、通过中间层代理,实现读写分离。

  基于这个开源框架我们能开发出同时连接不同的数据库的数据源为前端应用程序提供服务,我们通过Amoeba框架分析Query语句,根据Query 语句中所请求的数据来自动识别Query语句的数据源是什么类型数据库在哪个物理主机上面,然后选择特定的JDBC驱动和相应协议连接后台数据库。

  通过数据的垂直和水平拆分,增强数据库的整体服务能力,通过数据层框架解决数据拆分和整合,使数据库很容易扩展,只需要增加廉价的PC服务器,即可线性增加数据库集群的整体服务能力,从而实现分布式数据库的部署和扩展。

  4、结束语

  目前,关于分布式数据库系统数据处理的研究很多,针对RS10大数据量的性能以及并发访问效率低的问题,基于Amoeba框架,对大数据量的表进行 拆分,对集中式部署的数据库采用分布式部署,有效的解决数据量大、并发访问效率低的问题。分布式数据库对数据的拆分和整合是最关键的环节,只有充分解决这 个问题,分布式数据库才能得到有效地使用。

0
相关文章