一种分布式数据库实现方法及装置制造方法及图纸

技术编号:35403761 阅读:16 留言:0更新日期:2022-11-03 10:55
本发明专利技术提供一种分布式数据库实现方法及装置。其中,该方法包括:接收客户端发送的数据查询请求,通过数据节点包含的结构化查询层对所述数据查询请求进行协议解析,从所述数据节点包含的存储引擎层获取相应的目标数据;其中,所述存储引擎层用于存储实际数据,并与所述结构化查询层位于同一个程序内部;将从所述数据节点获取的所述目标数据转发至所述客户端。采用本发明专利技术公开的分布式数据库实现方法,通过将结构化查询层和存储引擎层设计在同一个数据节点,使得分布式数据库的每个数据节点既包含结构化查询层又包含存储引擎层,能够直接调用接口进行访问分布式数据库,提高了分布式数据库内部数据访问效率,从而提升了分布式数据库整体性能。数据库整体性能。数据库整体性能。

【技术实现步骤摘要】
一种分布式数据库实现方法及装置


[0001]本专利技术涉及分布式数据库
,具体涉及一种分布式数据库实现方法和装置。另外,还涉及一种电子设备及处理器可读存储介质。

技术介绍

[0002]随着计算机技术的快速发展,关系数据库和数字通信技术的应用也越来越广泛,面对当前业务数据日益膨胀的情况,如何提高数据查询的效率成为目前亟待解决的技术问题。
[0003]目前,现有技术中的分布式数据库大多采用分库分表的分布式中间件方案,比如Mycat、MySQL Route。分布式中间件的缺陷在于:需要在代理层进行数据查询请求的转发,每个数据库节点都需要进行结构化查询语言(SQL:Structured Query Language)协议的解析;代理层需要对结果集进行二次合并处理;不管访问哪部分数据,代理层和数据库层都会走网络交互。除此之外,后期的原生分布式方案,比如TiDB和MySQL Cluster,都是将SQL层和数据节点层完全解耦,作为不同的进程分开部署。在结构化查询层进行请求的分发,去不同的数据节点获取数据。这种设计虽然解耦得比较充分,但是存在缺陷:现有的分布式数据库方案或专利不管访问哪部分数据,代理节点/SQL节点和数据节点之间的数据交互(含数据访问,事务提交回滚)都会走网络访问,导致数据访问效率较低。
[0004]因此,如何设计一种高效的分布式数据库实现方案,尽量减少内部节点之间的跨网络数据访问,提高分布式数据库整体效率,成为本领域研究的重要课题。

技术实现思路

[0005]为此,本专利技术提供一种分布式数据库实现方法及装置,以解决现有技术中存在的分布式数据库实现方案局限性较高,导致数据访问效率较低的问题。
[0006]第一方面,本专利技术提供一种分布式数据库实现方法,包括:
[0007]接收客户端发送的数据查询请求;
[0008]基于数据节点包含的结构化查询层对所述数据查询请求进行协议解析,从所述数据节点包含的存储引擎层获取相应的目标数据;
[0009]其中,所述存储引擎层用于存储实际数据,并与所述结构化查询层位于同一个程序内部;
[0010]将从所述数据节点获取的所述目标数据转发至所述客户端。
[0011]在一个实施例中,从所述数据节点包含的存储引擎层获取相应的目标数据,具体包括:
[0012]基于本地数据节点中的存储引擎层向管理节点获取数据分片信息,若根据所述数据分片信息判断所述数据查询请求对应的数据未全部存储于所述本地数据节点中,则基于所述本地数据节点包含的存储引擎层向非本地数据节点包含的存储引擎层发送远程数据调用请求,获取需要的剩余目标数据;将所述本地数据节点中存储引擎层的本地目标数据
和所述剩余目标数据合并处理之后得到所述目标数据;
[0013]其中,所述非本地数据节点为预设的数据节点集群中除所述本地数据节点之外的用于存储实际数据的数据节点。
[0014]在一个实施例中,所述的分布式数据库实现方法,还包括:基于预设的管理节点将所述数据查询请求发送到所述数据节点;其中,所述管理节点用于对分布式数据库中的所述数据节点进行管理,提供对应数据节点集群的负载均衡能力,并存储所述数据节点集群对应的数据分片信息。
[0015]在一个实施例中,所述数据节点集群中每个数据节点均为单独的进程。
[0016]在一个实施例中,所述数据节点集群中的每个数据节点都包含结构化查询层和存储引擎层两部分。
[0017]在一个实施例中,所述基于数据节点包含的结构化查询层对所述数据查询请求进行协议解析,从所述数据节点包含的存储引擎层获取相应的目标数据,具体包括:
[0018]基于数据节点的结构化查询层对所述数据查询请求进行协议解析,利用所述数据节点的存储引擎层进行数据请求分发,从所述数据节点包含的存储引擎层获取相应的目标数据;和/或,
[0019]基于数据节点的结构化查询层对所述数据查询请求进行协议解析及数据请求分发,从所述数据节点的存储引擎层获取相应的目标数据。
[0020]第二方面,本专利技术还提供一种分布式数据库实现装置,包括:
[0021]查询请求接收单元,用于接收客户端发送的数据查询请求;
[0022]目标数据查询单元,用于基于数据节点包含的结构化查询层对所述数据查询请求进行协议解析,从所述数据节点包含的存储引擎层获取相应的目标数据;
[0023]其中,所述存储引擎层用于存储实际数据,并与所述结构化查询层位于同一个程序内部;
[0024]目标数据转发单元,用于将从所述数据节点获取的所述目标数据转发至所述客户端。
[0025]在一个实施例中,所述目标数据查询单元,具体用于:基于本地数据节点中的存储引擎层向管理节点获取数据分片信息,若根据所述数据分片信息判断所述数据查询请求对应的数据未全部存储于所述本地数据节点中,则基于所述本地数据节点包含的存储引擎层向非本地数据节点包含的存储引擎层发送远程数据调用请求,获取需要的剩余目标数据;将所述本地数据节点中存储引擎层的本地目标数据和所述剩余目标数据合并处理之后得到所述目标数据;
[0026]其中,所述非本地数据节点为预设的数据节点集群中除所述本地数据节点之外的用于存储实际数据的数据节点。
[0027]在一个实施例中,所述的分布式数据库实现装置,还包括:查询请求发送单元,用于基于预设的管理节点将所述数据查询请求发送到所述数据节点;其中,所述管理节点用于对分布式数据库中的所述数据节点进行管理,提供对应数据节点集群的负载均衡能力,并存储所述数据节点集群对应的数据分片信息。
[0028]在一个实施例中,所述数据节点集群中每个数据节点均为单独的进程。
[0029]在一个实施例中,所述数据节点集群中的每个数据节点都包含结构化查询层和存
储引擎层两部分。
[0030]在一个实施例中,所述目标数据查询单元具体用于:
[0031]基于数据节点的结构化查询层对所述数据查询请求进行协议解析,利用所述数据节点的存储引擎层进行数据请求分发,从所述数据节点包含的存储引擎层获取相应的目标数据;和/或,
[0032]基于数据节点的结构化查询层对所述数据查询请求进行协议解析及数据请求分发,从所述数据节点的存储引擎层获取相应的目标数据。
[0033]第三方面,本专利技术还提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任意一项所述的分布式数据库实现方法的步骤。
[0034]第四方面,本专利技术还提供一种处理器可读存储介质,所述处理器可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如上述任意一项所述的分布式数据库实现方法的步骤。
[0035]采用本专利技术所述的分布式数据库实现方法,能够将结构化查询层和存储引擎层设计在同一个数据节点,使得分布式数据库的每个数据节点既包含结构化查询层又包含存储引擎层,如果结构化查询层要访问的数据刚好本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式数据库实现方法,其特征在于,包括:接收客户端发送的数据查询请求;基于数据节点包含的结构化查询层对所述数据查询请求进行协议解析,从所述数据节点包含的存储引擎层获取相应的目标数据;其中,所述存储引擎层用于存储实际数据,并与所述结构化查询层位于同一个程序内部;将从所述数据节点获取的所述目标数据转发至所述客户端。2.根据权利要求1所述的分布式数据库实现方法,其特征在于,从所述数据节点包含的存储引擎层获取相应的目标数据,具体包括:基于本地数据节点中的存储引擎层向管理节点获取数据分片信息,若根据所述数据分片信息判断所述数据查询请求对应的数据未全部存储于所述本地数据节点中,则基于所述本地数据节点包含的存储引擎层向非本地数据节点包含的存储引擎层发送远程数据调用请求,获取需要的剩余目标数据;将所述本地数据节点中存储引擎层的本地目标数据和所述剩余目标数据合并处理之后得到所述目标数据;其中,所述非本地数据节点为预设的数据节点集群中除所述本地数据节点之外的用于存储实际数据的数据节点。3.根据权利要求1所述的分布式数据库实现方法,其特征在于,还包括:基于预设的管理节点将所述数据查询请求发送到所述数据节点;其中,所述管理节点用于对分布式数据库中的所述数据节点进行管理,提供对应数据节点集群的负载均衡能力,并存储所述数据节点集群对应的数据分片信息。4.根据权利要求1或2所述的分布式数据库实现方法,其特征在于,所述数据节点集群中的每个数据节点均为单独的进程。5.根据权利要求1或2所述的分布式数据库实现方法,其特征在于,所述数据节点集群中的每个数据节点都包含结构化查询层和存储引擎层两部分。6.根据权利要求1所述的分布式数据库实现方法,其特征在于,所述基于数据节点包含的结构化查询层对所述数据查询请求进行协议解析,从所述数据节点包含的存储引擎层获取相应的目标数据,具体包括:基于数据节点的结构化查询层对所述数...

【专利技术属性】
技术研发人员:孙乐
申请(专利权)人:中国移动通信集团有限公司
类型:发明
国别省市:

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

1