CN109117426A - 分布式数据库查询方法、装置、设备及存储介质 - Google Patents

分布式数据库查询方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN109117426A
CN109117426A CN201710484200.2A CN201710484200A CN109117426A CN 109117426 A CN109117426 A CN 109117426A CN 201710484200 A CN201710484200 A CN 201710484200A CN 109117426 A CN109117426 A CN 109117426A
Authority
CN
China
Prior art keywords
query statement
query
merging
memory node
statement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710484200.2A
Other languages
English (en)
Other versions
CN109117426B (zh
Inventor
刘素京
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jinzhuan Xinke Co Ltd
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201710484200.2A priority Critical patent/CN109117426B/zh
Publication of CN109117426A publication Critical patent/CN109117426A/zh
Application granted granted Critical
Publication of CN109117426B publication Critical patent/CN109117426B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种分布式数据库查询方法、装置、设备及存储介质,接收查询语句,所述查询语句包括目标数据表,所述目标数据表为所述查询语句中需要查询的数据库的数据表;在所述目标数据表包括两个以上时,分析确定所述查询语句是否符合合并条件;在所述查询语句符合合并条件时,根据所述合并条件对应的合并规则对所述查询语句进行合并,并将合并后的所述查询语句下发至对应的数据存储节点进行处理。由于将合并后的查询语句下发至对应的更少的数据存储节点进行处理,降低了需要执行处理的数据存储节点的数量,减少了分布式数据库代理的处理,减轻了分布式数据库代理的负担,可以提高执行速度,因此,其查询效率高。

Description

分布式数据库查询方法、装置、设备及存储介质
技术领域
本发明涉及信息检索领域,尤其涉及一种分布式数据库查询方法、装置、计算机设备及存储介质。
背景技术
分布式数据库(英文名称为Distributed Database,简称DDB)是指数据分存在计算机网络中的各台计算机上的数据库,这些计算机可以称为数据存储节点。
传统的分布式数据库查询技术,尤其是在多表、多数据存储节点的情况下,因引入分布式查询管理***,需要对查询语句中的数据表的各个数据节点进行查询处理,从而导致数据存储节点的输入输出接口和网络传送数据量过大的问题,查询效率低。
发明内容
基于此,有必要针对传统分布式数据库查询效率低的问题,提供一种查询效率高的分布式数据库查询方法、装置、设备及存储介质。
一种分布式数据库查询方法,包括:
接收查询语句,所述查询语句包括目标数据表,所述目标数据表为所述查询语句中需要查询的数据库的数据表;
在所述目标数据表包括两个以上时,分析确定所述查询语句是否符合合并条件;
在所述查询语句符合合并条件时,根据所述合并条件对应的合并规则对所述查询语句进行合并,并将合并后的所述查询语句下发至对应的数据存储节点进行处理。
一种分布式数据库查询装置,包括:
查询语句接收模块,用于接收查询语句,所述查询语句包括目标数据表,所述目标数据表为所述查询语句中需要查询的数据库的数据表;
查询语句分析模块,用于在所述目标数据表包括两个以上时,分析确定所述查询语句是否符合合并条件;
语句合并下发模块,用于在所述查询语句符合合并条件时,根据所述合并条件对应的合并规则对所述查询语句进行合并,并将合并后的所述查询语句下发至对应的数据存储节点进行处理。
一种计算机设备,包括存储器、处理器及从存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的分布式数据库查询方法的步骤。
一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现上述的分布式数据库查询方法的步骤。
上述方法、装置、设备及存储介质,由于将合并后的查询语句下发至对应的更少的数据存储节点进行处理,降低了需要执行处理的数据存储节点的数量,减少了分布式数据库代理的处理,减轻了分布式数据库代理的负担,可以提高执行速度,查询效率高。
附图说明
图1为一实施方式的分布式数据库查询方法及装置的应用环境示意图;
图2为一实施方式的分布式数据库查询方法的流程图;
图3为另一实施方式的分布式数据库查询方法的流程图;
图4为图2或图3的分布式数据库查询方法的一个步骤的具体流程图;
图5为传统查询过程与本发明查询过程的对比图;
图6为一实施方式的分布式数据库查询装置的结构图;
图7为另一实施方式的分布式数据库查询装置的结构图;
图8为图6或图7的分布式数据库查询装置的一个模块的具体结构图。
具体实施方式
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳的实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“或/及”包括一个或多个相关的所列项目的任意的和所有的组合。
图1为一实施方式提供的分布式数据库查询方法及装置的应用环境示意图。如图1所示,该应用环境包括客户端终端、分布式数据库代理及不少于两个数据存储节点。客户端终端通过网络向分布式数据库代理发送查询语句。分布式数据库代理接收该查询语句,对该查询语句进行分布式数据库查询。数据存储节点通过网络与分布式数据库连接。本发明提出的分布式数据库查询方法及装置运行于分布式数据库代理,该分布式数据库代理可以为服务器。分布式数据库代理负责建立与客户端终端的连接、接收客户端终端的查询请求语句、对接收到的查询语句进行分析,在符合合并条件的情况下使用合并规则确定需要访问的数据存储节点,并进行查询语句的合并下发执行。
请参阅图2,本发明一实施方式提供一种分布式数据库查询方法,包括:
S210:接收查询语句,查询语句包括目标数据表,目标数据表为查询语句中需要查询的数据库的数据表。
客户端终端在需要对数据库进行查询操作时,发送查询请求至分布式数据代理,该查询请求中包括查询语句。本方法运行时所在的分布式数据代理接收该查询语句,接收方式可以为接收查询请求,从而接收查询语句。
查询语句可以为常规查询语句,也可以为复杂查询语句。其中,常规查询语句为仅包括一个基本查询语句的查询语句;复杂查询语句为包括不少于两个基本查询语句的查询语句,可根据复杂查询语句的结构将其中的基本查询语句划分为主查询语句及子查询语句。
需要说明的是,对于复杂查询语句,目标数据表包括主查询语句及子查询语句中的需要查询的数据库的数据表。即,对于复杂查询语句需要考虑主查询语句与子查询语句之间的合并,例如,对于包含from子查询语句和where子查询语句的复杂查询语句。
S240:在目标数据表包括两个以上时,分析确定查询语句是否符合合并条件。
在目标数据表不包括两个以上时,即目标数据表仅包括单个数据表时,则根据该查询语句直接下压即下发该查询语句到该目标数据表对应的一个数据存储节点上执行。
在目标数据表包括两个以上时,分析确定查询语句是否符合合并条件。
合并条件为将表示对各目标数据库的各数据存储节点的访问的语句,合并为表示对各目标数据表的必须的数据存储节点的访问的语句的条件。对于符合合并条件的查询语句,其必须的数据存储节点的数量少于其各目标数据表的数据存储节点的数量。
在查询语句符合合并条件时,执行步骤S250。
S250:根据合并条件对应的合并规则对查询语句进行合并,并将合并后的查询语句下发至对应的数据存储节点进行处理。
合并规则与合并条件对应,为将表示对各目标数据库的各数据存储节点的访问的语句,合并为表示对各目标数据表的必须的数据存储节点的访问的语句的规则。当查询语句符合合并条件时,根据合并规则对查询语句进行合并,并将合并后的查询语句下发至合并后的查询语句所对应的数据存储节点进行处理。
上述方法,由于查询语句符合合并条件,并根据合并条件对应的合并规则进行了合并处理,无需访问各目标数据表的各数据存储节点,仅需访问必须的数据存储节点,合并后其对应的数据存储节点少于未进行合并之前的数据存储节点。因此,可以将合并后的查询语句下发至对应的数据存储节点进行处理,而得到与合并前查询语句对应的更多的数据存储节点进行处理相同的查询结果。同时,由于将合并后的查询语句下发至对应的更少的数据存储节点进行处理,降低了需要执行处理的数据存储节点的数量,减少了分布式数据库代理的处理,减轻了分布式数据库代理的负担,可以提高执行速度,因此,其查询效率高。
可以理解地,步骤S250之后,还可以包括:接收数据存储节点返回的处理结果。如此,分布式数据库代理可进一步将该处理结果作为查询语句对应的查询结果,返回至客户端终端。
请参阅图3,在其中一实施方式中,还包括:当查询语句不符合合并条件时,执行步骤S260至步骤S290。即步骤S240之后,还包括:当查询语句不符合合并条件时,执行步骤S260至步骤S290。
S260:将查询语句进行拆分为符合合并条件的简单语句。
当查询语句不符合合并条件时,将其拆分为符合合并条件的简单语句。
S270:根据合并规则对简单语句进行合并,并将合并后的各简单语句下发至对应的数据存储节点进行处理。
S280:接收各数据存储节点返回的处理结果,处理结果为合并后的简单语句对应的查询结果。
S290:根据查询语句对处理结果进行查询操作,得到查询语句对应的查询结果。
该查询操作与将查询语句进行拆分时所采用的拆分方式对应。如此,可以得到查询语句对应的查询结果。
需要说明的是,虽然在查询语句拆分之前,并不能进行合并,但进行拆分后得到的简单语句可以进行合并,因此,整体降低了需要执行处理的数据存储节点的数量,从而也能够提高查询语句的查询效率。
在其中一个具体实施例中,在步骤S280中,还可以对接收到的各数据存储节点返回的处理结果进行缓存;此时,步骤S290为根据查询语句在缓存中对处理结果进行查询操作,得到查询语句对应的查询结果。从而进一步提高处理速度,提高查询语句的查询效率。
请参阅图4,在其中一实施方式中分析确定查询语句是否符合合并条件的步骤,即步骤S240,包括:
S241:若各目标数据表均为复制表,且各复制表的数据存储节点存在交集,则查询语句符合合并条件;
或/及,
S243:若得到目标数据表包括一个非复制表及至少一个复制表,且各复制表的数据存储节点的交集覆盖非复制表的数据存储节点,则查询语句符合合并条件。
覆盖是指覆盖对象包括了被覆盖对象的全部对象。如,假设复制表a对应的数据存储节点为1、2、3、4,复制表b对应的数据存储节点的交集为1、2、3、5,非复制表c对应的数据存储节点为2、3。覆盖对象(复制表a、b对应的数据存储节点的交集为1、2、3)包括了被覆盖对象(非复制表c对应的数据存储节点为2,3),数据存储节点1、2、3包括了数据存储节点2、3,则覆盖对象(复制表a、b的数据存储节点的交集)覆盖了被覆盖对象(非复制表c的数据存储节点)。
本实施方式中,根据目标数据表的分发属性,能够确定查询语句符合合并条件的情况。需要说明的是,分发属性包括复制表和非复制表。其中复制表为在对应的各数据存储节点中对于数据表的存储内容相同的数据表;非复制表与复制表相反,为在对应的各数据存储节点中对于数据表的存储内容不相同的数据表。进一步地,非复制表可以包括范围表(range表)、哈希表(hash表)及列表表(list表)。范围表为在不同的数据存储节点中数值具有范围限制的表;哈希表,为根据哈希值来确定属于哪个数据存储节点的表;列表表为直接在数据表中指定存储于哪个数据存储节点的表。需要说明的是,无论分发属性如何,数据表在所有的数据存储节点都会创建同名的数据表,但只在数据表对应的数据存储节点存储有数据。例如,分布式数据库环境一共有1-10个数据存储节点时,如果数据表对应的数据存储节点为1,2,3节点,则数据表在这10个数据储存节点都会创建同名的数据表,但是只在1,2,3节点上存储数据。
当由步骤S241的方式,分析确定查询语句符合合并条件时,步骤S250中,合并后查询语句对应的数据存储节点为各复制表的数据存储节点的交集。
当由步骤S243的方式,分析确定查询语句符合合并条件时,步骤S250中,合并后查询语句对应的数据存储节点为非复制表的各数据存储节点。
若仅根据目标数据表的分发属性,不能够确定查询语句是否符合合并条件时,可以进一步根据查询语句的结构进行是否符合合并条件的分析。以下两个实施例包括两种仅通过分发属性暂时无法确定是否符合合并条件,而结合查询语句之后可以确定是符合合并条件的情况。
请继续参阅图4,在其中一个实施例中,分析确定查询语句是否符合合并条件的步骤,即步骤S240,还包括:
S245:若目标数据表包括至少两个非复制表,且查询语句包括等值链或where值链,则根据等值链或where值链所涉及的目标数据表的数据存储节点对非复制表进行过滤。
S247:将过滤后仅包括单个数据存储节点的非复制表的分发属性修改为复制表后,分析确定查询语句是否符合合并条件。
在根据目标数据表的分发属性,确定目标数据表包括至少两个非复制表时,仅根据分发属性暂时无法确定查询语句是否符合合并条件,需进一步根据查询语句的结构来进行进一步分析。当查询语句包括等值链或where值链时,根据等值链或where值链所涉及的目标数据表的数据存储节点对非复制表进行过滤;将过滤后仅包括单个数据存储节点的非复制表的分发属性修改为复制表,迭代执行分析确定查询语句是否符合合并条件的步骤。从而简化目标数据表之间的合并规则,使之后续可以通过仅根据目标数据表的分发属性,确定查询语句是否符合合并条件。进而对查询语句进行合并,降低了需要执行处理的数据存储节点的数量,从而提高查询语句的查询效率。其中,等值链是指查询语句中描述等于关系的代码;where值链是指查询语句中包括where及其具体内容的代码。
在上一实施例的基础上,分析确定查询语句是否符合合并条件的步骤,即步骤S240,还包括:
S249:若过滤后的各非复制表包括至少两个相同的数据存储节点、且各非复制表的数据存储节点之间存在区间覆盖关系,则查询语句符合合并条件。
若过滤后的非复制表包含的不是单个数据存储节点,即包括至少两个数据存储节点、在各非复制表包括的各数据存储节点相同,且各数据存储节点之间存在区间覆盖关系的情况下,才能确定查询语句符合合并条件。可以对这种情况下的查询语句进行合并,此时,步骤S250中,合并后查询语句对应的数据存储节点为过滤后的各非复制表包括的数据存储节点。
区间覆盖关系是指各非复制表的数据存储节点存储的查询语句所要查询的、同名的数据表中的具体数据的数据值在范围上具有覆盖关系。如,范围表a、b均存储在数据存储节点1和2中,范围表a中一个数据,在数据存储节点1中的存储范围为50-100,在数据存储节点2中的存储范围为1000-2000;而范围表b中的同一个数据,在存储节点1中的存储范围为50-60,在数据存储节点2中的存储范围为1000-1200,则说明范围表a与范围表b的数据存储节点之间存在区间覆盖关系。可以理解地,覆盖可以是a覆盖b,也可以是b覆盖a,或者是节点1上a覆盖b,节点2上b覆盖a等等,并不局限于本示例。
请继续参阅图3,在其中一实施方式中,分析确定查询语句是否符合合并条件的步骤之前,即步骤S240之前,还包括:
S230:获取并存储元数据信息,元数据信息包括数据表的分发属性及数据表的数据存储节点。分发属性包括复制表和非复制表。
如此,在分布式数据库代理中存储元数据信息,可根据该存储的元数据信息,获取到目标数据表的分发属性,从而判定目标数据表是否均为复制表、目标数据表是否包括一个非复制表及不少于一个复制表、目标数据表包括不少于两个非复制表等,确定各数据表的数据存储节点。
以下以一个具体示例对上述分布式数据库查询方法的有益效果进行说明。
请参阅图5,为传统的没有合并查询语句的查询过程与通过本发明的上述的查询方法对查询语句进行合并后的查询过程的对比。
分布式数据库代理接收到多表联合查询语句时,假设目标数据表包括表a和表b。表a和表b均为复制表,表a在数据存储节点1至数据存储节点3上;表b在数据存储节点2上。对目标数据表包括a、b进行查询的查询语句,传统的查询过程为:proxy(分布式数据库代理)需要将查询语句发送给数据存储节点1、数据存储节点2及数据存储节点3上进行查询,然后各个数据存储节点将处理结果返回给proxy,proxy接收到处理结果后再进行一次数据处理即查询操作,该数据处理或查询操作可以为数据去重、结果排序等操作,具体可根据查询语句条件确定。对目标数据表包括a、b进行查询的查询语句,本发明的查询过程则为:proxy对查询语句进行分析,由于表a和表b均为复制表,且其数据存储节点具有交集为数据存储节点2,因此分析结果为查询语句符合合并条件,此时根据合并规则对查询语句进行合并,在该具体示例中仅需要将合并后的查询语句下发至数据存储节点2上进行查询,此时proxy只需要将合并后的查询语句发送到数据存储节点2上直接执行即可得到结果。由于将合并后的查询语句下发至对应的更少的数据存储节点进行处理,降低了需要执行处理的数据存储节点的数量,减少了分布式数据库代理的处理,减轻了分布式数据库代理的负担,可以提高执行速度,因此,其查询效率高。
本发明还提供一种与上述分布式数据库查询方法对应的分布式数据库查询装置。
请参阅图6,一实施方式的布式数据库查询装置,包括:
查询语句接收模块610,用于接收查询语句,查询语句包括目标数据表,目标数据表为查询语句中需要查询的数据库的数据表;
查询语句分析模块640,用于在目标数据表包括两个以上时,分析确定查询语句是否符合合并条件;
语句合并下发模块650,用于在查询语句符合合并条件时,根据合并条件对应的合并规则对查询语句进行合并,并将合并后的查询语句下发至对应的数据存储节点进行处理。
上述装置,由于查询语句符合合并条件,并根据合并条件对应的合并规则进行了合并处理,无需访问各目标数据表的各数据存储节点,仅需访问必须的数据存储节点,合并后其对应的数据存储节点少于未进行合并之前的数据存储节点。因此,可以将合并后的查询语句下发至对应的数据存储节点进行处理,而得到与合并前查询语句对应的更多的数据存储节点进行处理相同的查询结果。同时,由于将合并后的查询语句下发至对应的更少的数据存储节点进行处理,降低了需要执行处理的数据存储节点的数量,减少了分布式数据库代理的处理,减轻了分布式数据库代理的负担,可以提高执行速度,因此,其查询效率高。
请参阅图7,在其中一实施方式中,还包括:
查询语句拆分模块660,用于当查询语句不符合合并条件时,将查询语句拆分为符合合并条件的简单语句;
简单语句合并模块670,用于根据合并规则对简单语句进行合并,并将合并后的各简单语句下发至对应的数据存储节点进行处理;
中间结果接收模块680,用于接收各数据存储节点返回的处理结果,处理结果为合并后的简单语句对应的查询结果;
查询结果确定模块690,用于根据查询语句对处理结果进行查询操作,得到查询语句对应的查询结果。
请参阅图8,在其中一实施方式中,查询语句分析模块640,包括:
第一深层分析单元641,用于若各目标数据表均为复制表,且各复制表的数据存储节点存在交集,则查询语句符合合并条件;
或/及,
第二深层分析单元643,用于若目标数据表包括一个非复制表及至少一个复制表,且各复制表的数据存储节点的交集覆盖非复制表的数据存储节点,则查询语句符合合并条件。
进一步地,查询语句分析模块640,还包括:
第三深层分析单元645,用于若目标数据表包括至少两个非复制表,且查询语句包括等值链或where值链,则根据等值链或where值链所涉及的目标数据表的数据存储节点对非复制表进行过滤;
第三深层分析单元645,还用于将过滤后仅包括单个数据存储节点的非复制表的分发属性修改为复制表后,分析确定查询语句是否符合合并条件。
更进一步地,查询语句分析模块640,还包括:
第四深层分析单元647,用于若过滤后的各非复制表包括至少两个相同的数据存储节点、且各非复制表的数据存储节点之间存在区间覆盖关系,则查询语句符合合并条件。
请继续参阅图7,在其中一实施方式中,还包括:
数据获取存储模块630,用于获取并存储元数据信息,元数据信息包括数据表的分发属性及数据表的数据存储节点;分发属性包括复制表和非复制表。
本发明还提供一种与上述分布式数据库查询方法对应的计算机设备,包括存储器、处理器及从存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的分布式数据库查询方法的步骤。
本发明还提供一种与上述分布式数据库查询方法对应的计算机存储介质,计算机存储介质上存储有计算机程序,计算机程序被处理器执行时,实现上述的分布式数据库查询方法的步骤。
由于上述装置、计算机设备及计算机存储介质与上述方法相互对应,对于装置、计算机设备及计算机存储介质中与方法相对应的细节技术特征,在此不作赘述。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出多个变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种分布式数据库查询方法,其特征在于,包括:
接收查询语句,所述查询语句包括目标数据表,所述目标数据表为所述查询语句中需要查询的数据库的数据表;
在所述目标数据表包括两个以上时,分析确定所述查询语句是否符合合并条件;
在所述查询语句符合合并条件时,根据所述合并条件对应的合并规则对所述查询语句进行合并,并将合并后的所述查询语句下发至对应的数据存储节点进行处理。
2.根据权利要求1所述的分布式数据库查询方法,其特征在于,还包括:
当所述查询语句不符合合并条件时,将所述查询语句拆分为符合所述合并条件的简单语句;
根据所述合并规则对所述简单语句进行合并,并将合并后的各所述简单语句下发至对应的数据存储节点进行处理;
接收各所述数据存储节点返回的处理结果,所述处理结果为合并后的所述简单语句对应的查询结果;
根据所述查询语句对所述处理结果进行查询操作,得到所述查询语句对应的查询结果。
3.根据权利要求1所述的分布式数据库查询方法,其特征在于,所述分析确定所述查询语句是否符合合并条件的步骤,包括:
若各所述目标数据表均为复制表,且各所述复制表的数据存储节点存在交集,则所述查询语句符合所述合并条件;
或/及,
若所述目标数据表包括一个非复制表及至少一个所述复制表,且各所述复制表的数据存储节点的交集覆盖所述非复制表的数据存储节点,则所述查询语句符合所述合并条件。
4.根据权利要求3所述的分布式数据库查询方法,其特征在于,分析确定所述查询语句是否符合合并条件的步骤,还包括:
若所述目标数据表包括至少两个非复制表,且所述查询语句包括等值链或where值链,则根据所述等值链或所述where值链所涉及的所述目标数据表的数据存储节点对所述非复制表进行过滤;
将过滤后仅包括单个数据存储节点的非复制表的分发属性修改为复制表后,分析确定查询语句是否符合所述合并条件。
5.根据权利要求4所述的分布式数据库查询方法,其特征在于,分析确定所述查询语句是否符合合并条件的步骤,还包括:
若过滤后的各所述非复制表包括至少两个相同的数据存储节点、且各所述非复制表的数据存储节点之间存在区间覆盖关系,则所述查询语句符合所述合并条件。
6.根据权利要求1-5任意一项所述的分布式数据库查询方法,其特征在于,所述分析确定所述查询语句是否符合合并条件的步骤之前,还包括:
获取并存储元数据信息,所述元数据信息包括所述数据表的分发属性及所述数据表的数据存储节点;所述分发属性包括复制表和非复制表。
7.一种分布式数据库查询装置,其特征在于,包括:
查询语句接收模块,用于接收查询语句,所述查询语句包括目标数据表,所述目标数据表为所述查询语句中需要查询的数据库的数据表;
查询语句分析模块,用于在所述目标数据表包括两个以上时,分析确定所述查询语句是否符合合并条件;
语句合并下发模块,用于在所述查询语句符合合并条件时,根据所述合并条件对应的合并规则对所述查询语句进行合并,并将合并后的所述查询语句下发至对应的数据存储节点进行处理。
8.根据权利要求7所述的分布式数据库查询装置,其特征在于,还包括:
查询语句拆分模块,用于当所述查询语句不符合合并条件时,将所述查询语句拆分为符合所述合并条件的简单语句;
简单语句合并模块,用于根据所述合并规则对所述简单语句进行合并,并将合并后的各所述简单语句下发至对应的数据存储节点进行处理;
中间结果接收模块,用于接收各所述数据存储节点返回的处理结果,所述处理结果为合并后的所述简单语句对应的查询结果;
查询结果确定模块,用于根据所述查询语句对所述处理结果进行查询操作,得到所述查询语句对应的查询结果。
9.一种计算机设备,包括存储器、处理器及从存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-6任意一项所述的分布式数据库查询方法的步骤。
10.一种计算机存储介质,所述计算机存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1-6任意一项所述的分布式数据库查询方法的步骤。
CN201710484200.2A 2017-06-23 2017-06-23 分布式数据库查询方法、装置、设备及存储介质 Active CN109117426B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710484200.2A CN109117426B (zh) 2017-06-23 2017-06-23 分布式数据库查询方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710484200.2A CN109117426B (zh) 2017-06-23 2017-06-23 分布式数据库查询方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN109117426A true CN109117426A (zh) 2019-01-01
CN109117426B CN109117426B (zh) 2023-06-09

Family

ID=64732951

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710484200.2A Active CN109117426B (zh) 2017-06-23 2017-06-23 分布式数据库查询方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN109117426B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110309149A (zh) * 2019-06-06 2019-10-08 平安科技(深圳)有限公司 一种数据表处理方法、装置、电子设备及存储介质
CN112364059A (zh) * 2020-11-10 2021-02-12 平安普惠企业管理有限公司 多规则场景下关联匹配方法、装置、设备和存储介质
CN113792079A (zh) * 2021-11-17 2021-12-14 腾讯科技(深圳)有限公司 数据查询方法、装置、计算机设备和存储介质
CN117331919A (zh) * 2023-09-18 2024-01-02 本原数据(北京)信息技术有限公司 数据库联合查询方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030074352A1 (en) * 2001-09-27 2003-04-17 Raboczi Simon D. Database query system and method
CN103455641A (zh) * 2013-09-29 2013-12-18 方正国际软件有限公司 交叉多次检索的***和方法
CN104123374A (zh) * 2014-07-28 2014-10-29 北京京东尚科信息技术有限公司 分布式数据库中聚合查询的方法及装置
CN104699788A (zh) * 2015-03-16 2015-06-10 百度在线网络技术(北京)有限公司 数据库查询方法和装置
CN105975617A (zh) * 2016-05-20 2016-09-28 北京京东尚科信息技术有限公司 一种多分区表查询处理的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030074352A1 (en) * 2001-09-27 2003-04-17 Raboczi Simon D. Database query system and method
CN103455641A (zh) * 2013-09-29 2013-12-18 方正国际软件有限公司 交叉多次检索的***和方法
CN104123374A (zh) * 2014-07-28 2014-10-29 北京京东尚科信息技术有限公司 分布式数据库中聚合查询的方法及装置
CN104699788A (zh) * 2015-03-16 2015-06-10 百度在线网络技术(北京)有限公司 数据库查询方法和装置
CN105975617A (zh) * 2016-05-20 2016-09-28 北京京东尚科信息技术有限公司 一种多分区表查询处理的方法和装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110309149A (zh) * 2019-06-06 2019-10-08 平安科技(深圳)有限公司 一种数据表处理方法、装置、电子设备及存储介质
CN110309149B (zh) * 2019-06-06 2024-06-07 平安科技(深圳)有限公司 一种数据表处理方法、装置、电子设备及存储介质
CN112364059A (zh) * 2020-11-10 2021-02-12 平安普惠企业管理有限公司 多规则场景下关联匹配方法、装置、设备和存储介质
CN112364059B (zh) * 2020-11-10 2023-12-22 国网甘肃省电力公司白银供电公司 多规则场景下关联匹配方法、装置、设备和存储介质
CN113792079A (zh) * 2021-11-17 2021-12-14 腾讯科技(深圳)有限公司 数据查询方法、装置、计算机设备和存储介质
CN113792079B (zh) * 2021-11-17 2022-02-08 腾讯科技(深圳)有限公司 数据查询方法、装置、计算机设备和存储介质
CN117331919A (zh) * 2023-09-18 2024-01-02 本原数据(北京)信息技术有限公司 数据库联合查询方法、装置、电子设备及存储介质
CN117331919B (zh) * 2023-09-18 2024-06-11 本原数据(北京)信息技术有限公司 数据库联合查询方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN109117426B (zh) 2023-06-09

Similar Documents

Publication Publication Date Title
CN106168965B (zh) 知识图谱构建***
Verma et al. Big data management processing with Hadoop MapReduce and spark technology: A comparison
Tao et al. Minimal mapreduce algorithms
CN103678609B (zh) 一种基于分布式关系‑对象映射处理的大数据查询的方法
CN106708996B (zh) 用于对关系数据库进行全文搜索的方法及***
EP0981097A1 (en) Search system and method for providing a fulltext search over web pages of world wide web servers
Greenberg et al. {MDHIM}: A Parallel {Key/Value} Framework for {HPC}
CN113360554B (zh) 一种数据抽取、转换和加载etl的方法和设备
CN109117426A (zh) 分布式数据库查询方法、装置、设备及存储介质
CN111221791A (zh) 一种多源异构数据导入数据湖的方法
CN104239377A (zh) 跨平台的数据检索方法及装置
CN107016039B (zh) 数据库写入的方法和数据库***
US20150120697A1 (en) System and method for analysis of a database proxy
Srikanth et al. Machine learning for query processing system and query response time using hadoop
CN111221785A (zh) 一种多源异构数据的语义数据湖构建方法
CN112445776B (zh) 基于Presto的动态分桶方法、***、设备及可读存储介质
KR101955376B1 (ko) 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법, 이를 수행하기 위한 기록 매체 및 장치
CN113468209A (zh) 一种电网监控***高速内存数据库访问方法
Muddasir et al. Study of methods to achieve near real time ETL
CN108319604A (zh) 一种hive中大小表关联的优化方法
Xu et al. Sparkrdf: In-memory distributed rdf management framework for large-scale social data
US11847121B2 (en) Compound predicate query statement transformation
CN115982230A (zh) 数据库的跨数据源查询方法、***、设备及存储介质
Anitha et al. A dynamic semantic metadata model in cloud computing
Lai et al. Nimbus: tuning filters service on Tweet streams

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20220107

Address after: 100176 602, floor 6, building 6, courtyard 10, KEGU 1st Street, Beijing Economic and Technological Development Zone, Daxing District, Beijing (Yizhuang group, high-end industrial area of Beijing Pilot Free Trade Zone)

Applicant after: Jinzhuan Xinke Co.,Ltd.

Address before: 518000 Zhongnan communication tower, South China Road, Nanshan District high tech Industrial Park, Shenzhen, Guangdong

Applicant before: ZTE Corp.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant