一种横向扩展分布式数据库的方法技术

技术编号:17779733 阅读:39 留言:0更新日期:2018-04-22 08:15
本发明专利技术公开了一种横向扩展分布式数据库的方法,该方法包括:创建数据库中心节点;创建数据库数据节点;部署中间层节点,该中间层节点根据负载权重按概率选择数据节点;在所述数据库数据节点上冗余创建数据表;在所述中间层节点上创建远程表;通过中间层节点进行数据查询,并将数据查询结果发送至客户端。本发明专利技术通过分布式数据库横向扩展方法有效避免了访问量过大时数据库查询单点处理能力下降,通过有效分流查询,提高了数据库的查询性能。

【技术实现步骤摘要】
一种横向扩展分布式数据库的方法
本专利技术涉及数据库横向扩展方法,尤其涉及一种分布式数据库横向扩展方法。
技术介绍
数据库技术产生于20世纪60年代末70年代初,是计算机软件技术的一个重要分支,它主要研究如何存储、管理和使用数据。是发展最快、应用最广的计算机技术之一,一直是倍受信息技术界关注的一个重点。传统的数据库技术多采用单机模式提供数据库服务,数据库服务驻留在单个计算机上。单机数据库模型简单,数据库研究人员专注于提高数据库的数据存取、索引查询优化等技术,随着技术的成熟,单机数据库的技术进化已经发展到了极致,单机版数据库越来越依赖于机器性能的提高。而高性能的计算机的高成本使得单机数据库的性能提升遇到障碍,而且单机数据库无法回避的一个巨大劣势是单点故障,数据库遇到问题只能停机,故障恢复完后重启,而且数据库故障恢复依赖于数据库管理员人工备份。随着互联网的发展和大数据时代的到来,越来越多用户接入和海量数据的产生,使得单机数据库在容量和并发访问上遇到了巨大挑战。分布式方案成为大数据时代数据库技术的一把钥匙。分布式数据库系统通过数据计算和数据存储的分布式化来解决数据库的海量存储和并发访问问题。分布式数据库系统部署在多台计算机组成的集群上,集群中的计算机节点通过网络互相连接,相互协调配合,共同组成一个完整的、全局的逻辑上统一、物理上分布的大型数据库。
技术实现思路
为解决上述技术问题,本专利技术的目的是提供一种分布式数据库横向扩展方法。本专利技术的目的通过以下的技术方案来实现:一种横向扩展分布式数据库的方法,包括:创建数据库中心节点;创建数据库数据节点;部署中间层节点,该中间层节点根据负载权重按概率选择数据节点;在所述数据库数据节点上冗余创建数据表;在所述中间层节点上创建远程表;通过中间层节点进行数据查询,并将数据查询结果发送至客户端。与现有技术相比,本专利技术的一个或多个实施例可以具有如下优点:该行列混合存储方法有效避免了访问量过大时数据库查询单点处理能力下降,通过有效分流查询,提高了数据库的查询性能。分布式数据库系统的数据采用冗余部署方式,即一个数据单元在集群上有多份冗余部署,当一份数据损坏时,其他备份数据可以提供数据访问能力,而且可以自动重建重建或者恢复损坏数据,并且当同一份数据有查询请求时,多份冗余数据可以分担查询请求压力,这使得分布式的数据库的性能、扩展性(简单增加计算节点即可)、稳定性和容灾性大大提升。分布式数据库的这些优势使得其成为未来数据库技术发展的主流。附图说明图1是数据库中心节点、数据库数据节点和中间层节点架构结构图;图2是分布式数据库横向扩展方法流程图;图3是负载均衡算法示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合实施例及附图对本专利技术作进一步详细的描述。如图1所示,为数据库中心节点、数据库数据节点和中间层节点架构结构。如图2所示,为分布式数据库横向扩展方法,该方法包括以下步骤:步骤10创建数据库中心节点;启动节点数据库服务并配置该节点为中心节点,中心节点主要收集数据表的分布信息,并响应中间层节点的表分布信息查询,中心节点可以配置为双中心模式,防止单点失效。步骤20创建数据库数据节点;启动节点数据库服务并配置该节点为数据节点,配置集群中心节点信息,指定该数据节点的中心节点连接信息,该中心节点连接信息包括:主中心数据库服务、备用中心数据库服务、IP和端口号。信息数据节点存储数据表的实际数据,数据节点定期向中心节点发送心跳信息以及自身的数据表信息,并响应中间层节点的数据查询请求。步骤30部署中间层节点;启动节点数据库服务并配置该节点为中间层节点,配置集群中心节点信息,指定该中间层的中心节点连接信息,该主中心节点连接信息包括:主中心数据库服务、备用中心数据库服务、IP和端口号。中间层节点周期性地查询中心节点远程表的数据表分布信息。中间层的远程表响应数据查询,根据数据表的分布信息及统计的负载信息,选出一个数据节点,将查询重定向到该数据节点。步骤40冗余创建数据表;在数据节点上创建数据表,数据表可以冗余创建,即在多个数据节点上创建数据表的实例。集群中不同结构的数据表必须使用不同的名称。步骤50在中间节点上创建远程表;远程表只存储数据表的结构和定义信息,不存储数据表的实际数据。步骤60客户端向中间节点发起数据查询请求,中间层节点响应客户端查询,重定向查询请求。中间节点解析SQL语句,找到相应的远程表实例,调用查询接口,查询接口根据收集的该数据表的数据节点分布信息以及负责信息,选择一个最优的数据节点,将该查询请求转发到此数据节点上,中间层接收该数据节点的查询执行结果,并将结果集转予客户端。集群运行主要依赖以下几个功能模块:集群表分布信息收集功能模块、集群表分布信息发布功能模块、集群表分布信息查询功能模块、节点负载信息收集功能模块、集群表查询请求负载均衡功能模块。上述集群表分布信息收集功能模块,由中心节点负责,中心节点启动后,即实例化集群表分布信息收集作业类,并抛入到数据库的任务池中执行。集群表分布信息收集作业接收数据节点上报的表分布信息,维护整个集群的表分布信息,并响应来自中间层节点的表分布信息查询请求。集群表分布信息发布功能模块,由数据节点完成,中心节点启动后,即实例化集群表分布信息发布作业类,抛入到数据库的任务池中执行。集群表分布信息发布作业周期性执行,将数据节点的所有数据表信息发送给中心节点。集群表分布信息查询功能模块、节点负载信息收集功能模块、集群表查询请求负载均衡功能模块由中间层节点负责,中心节点启动后,即实例化相应作业类,根据自身的远程表部署情况,周期性向中心节点查询远程表分布信息,并根据查询结果,在内存中维护并更新远程表的表分布信息及负载信息。收到客户端的查询请求后,根据负载信息和负载均衡算法,将查询重定向到对应的数据节点,并检测查询执行信息,更新节点负载信息。负载均衡算法:为避免数据产生查询瞬时热点(中间层节点同时将查询请求重定向到负载最优数据节点),本实施例采取了基于负载的概率调度算法,根据负载权重(低负载高权重)按概率选择数据节点,负载低的节点有较高的概率被选择。如图3所示,三个节点的权重分别为wa、wb、wc,构建三个区间[0,wa)、[wa,wa+wb)和[wa+wb,wa+wb+wc],然后随机一个范围在[0,wa+wb+wc]之间的数字,数字落在那个区间就算中其代表的节点;具有高权重的节点具有较高的概率被选中,具有较低权重的节点也具有被选中的可能,避免了节点选取局部最优化的出现。虽然本专利技术所揭露的实施方式如上,但所述的内容只是为了便于理解本专利技术而采用的实施方式,并非用以限定本专利技术。任何本专利技术所属
内的技术人员,在不脱离本专利技术所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本专利技术的专利保护范围,仍须以所附的权利要求书所界定的范围为准。本文档来自技高网
...
一种横向扩展分布式数据库的方法

【技术保护点】
一种横向扩展分布式数据库的方法,其特征在于,所述方法包括:创建数据库中心节点;创建数据库数据节点;部署中间层节点,该中间层节点根据负载权重按概率选择数据节点;在所述数据库数据节点上冗余创建数据表;在所述中间层节点上创建远程表;通过中间层节点进行数据查询,并将数据查询结果发送至客户端。

【技术特征摘要】
1.一种横向扩展分布式数据库的方法,其特征在于,所述方法包括:创建数据库中心节点;创建数据库数据节点;部署中间层节点,该中间层节点根据负载权重按概率选择数据节点;在所述数据库数据节点上冗余创建数据表;在所述中间层节点上创建远程表;通过中间层节点进行数据查询,并将数据查询结果发送至客户端。2.如权利要求1所述的分布式数据库横向扩展方法,其特征在于,所述中心节点用于收集数据表的分布信息,并响应中间层节点的表分布信息查询。3.如权利要求1所述的分布式数据库横向扩展方法,其特征在于,分别配置数据库数据节点和中间层节点的中心...

【专利技术属性】
技术研发人员:艾顺刚张蕾何卫东姚进德孙晓翠王林林刘焱
申请(专利权)人:江苏睿泰数字产业园有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1