CN110659327A - 实现异构数据库之间数据交互式查询的方法和相关装置 - Google Patents
实现异构数据库之间数据交互式查询的方法和相关装置 Download PDFInfo
- Publication number
- CN110659327A CN110659327A CN201910759791.9A CN201910759791A CN110659327A CN 110659327 A CN110659327 A CN 110659327A CN 201910759791 A CN201910759791 A CN 201910759791A CN 110659327 A CN110659327 A CN 110659327A
- Authority
- CN
- China
- Prior art keywords
- query
- data
- logic execution
- heterogeneous database
- execution plan
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000002452 interceptive effect Effects 0.000 title claims abstract description 23
- 238000012545 processing Methods 0.000 claims abstract description 18
- 238000001514 detection method Methods 0.000 claims abstract description 15
- 230000002776 aggregation Effects 0.000 claims abstract description 8
- 238000004220 aggregation Methods 0.000 claims abstract description 8
- 238000005457 optimization Methods 0.000 claims description 27
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 9
- 238000012795 verification Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 4
- 230000000875 corresponding effect Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 230000003993 interaction Effects 0.000 description 6
- 238000009826 distribution Methods 0.000 description 4
- 230000001276 controlling effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请揭示了一种实现异构数据库之间数据交互式查询的方法及装置,涉及大数据技术领域。该方法包括:异构数据库***通过所设置的调度节点接收查询客户端发起的数据查询请求;通过调度节点,将数据查询请求中的查询语句解析为逻辑执行计划,且对逻辑执行计划进行分布式处理,获得面向异构数据库的若干子逻辑执行计划;通过对异构数据库***所设置的工作节点进行状态检测,将子逻辑执行计划对应分配至空闲状态的各个工作节点,使工作节点根据所分配子逻辑执行计划执行异构数据库的数据查询;在工作节点将执行数据查询的结果数据返回至调度节点汇总后,通过调度节点将汇总的结果数据返回至查询客户端。本申请能够实现异构数据库之间数据的高效查询。
Description
技术领域
本申请涉及大数据技术领域,特别涉及一种实现异构数据库之间数据交互式查询的方法及装置、电子设备、计算机可读存储介质。
背景技术
异构数据库***是相关的多个数据库的集合,虽然这些数据库的架构互不相同,但可以实现各数据库之间数据的共享和透明访问。
在现有实现中,由于各异构数据库之间的数据相互关联,在对异构数据库***执行数据查询时,必须通过数据交换的方式先将各个异构数据库中的数据导入同一数据库中,然后在此数据库中进行异构数据库之间的交互式数据查询,查询过程十分繁杂。
在实际的业务场景中,如果业务部门想要对公司所部署多个业务***的数据进行分析,需要技术部门提供数据交换的支持,再加上信息安全审批等其他流程,导致业务部门无法高效率进行业务数据的分析。
由此,如何实现异构数据库之间数据的高效查询,是现有技术亟待解决的技术问题。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
基于上述技术问题,本申请提供了一种实现异构数据库之间数据交互式查询的方法及装置、电子设备、计算机可读存储介质。
本申请所揭示的技术方案包括:
一种实现异构数据库之间数据交互式查询的方法,包括:异构数据库***通过所设置的调度节点接收查询客户端发起的数据查询请求,所述异构数据库***是若干异构数据库的集合;
通过所述调度节点,将所述数据查询请求中的查询语句解析为逻辑执行计划,且对所述逻辑执行计划进行分布式处理,获得面向所述异构数据库的若干子逻辑执行计划,所述逻辑执行计划是对所述异构数据库执行数据查询的通用执行逻辑;
通过对所述异构数据库***所设置的工作节点进行状态检测,将所述子逻辑执行计划对应分配至空闲状态的各个工作节点,使所述工作节点根据所分配子逻辑执行计划执行所述异构数据库的数据查询;
在所述工作节点将执行所述数据查询的结果数据返回至所述调度节点汇总后,通过所述调度节点将汇总的所述结果数据返回至所述查询客户端。
在一个示例性实施例中,所述查询语句为标准ANSI SQL查询语句,所述通过所述调度节点,将所述数据查询请求中的查询语句解析为逻辑执行计划,包括:对所述标准ANSISQL查询语句进行语义分析;在进行所述语义分析后,通过对所述标准ANSI SQL查询语句进行逻辑执行计划分析,获得初始逻辑执行计划;通过对所述初始逻辑执行计划进行优化,获得所述逻辑执行计划。
在一个示例性实施例中,所述通过对所述初始逻辑执行计划进行优化,获得所述逻辑执行计划,包括:对所述初始逻辑执行计划中的每一逻辑子句,通过进行等价谓词的重写和指定条件的简化,获得局部优化的逻辑子句;消除局部优化的逻辑子句之间的外连接和嵌套连接,获得关联优化的初始逻辑执行计划;通过对所述关联优化的初始逻辑执行计划进行语义优化,获得所述逻辑执行计划。
在一个示例性实施例中,所述通过对所述异构数据库***所设置工作节点进行状态检测,将所述子逻辑执行计划对应分配至空闲状态的各个工作节点,包括:通过将所述异构数据库***中的全部工作节点添加至线程池,使所述线程池中启用的多线程分别检测各个工作节点的状态;分别将所述子逻辑执行计划分配至空闲状态的各个工作节点。
在一个示例性实施例中,所述在所述工作节点将执行所述数据查询的结果数据返回至所述调度节点汇总后,通过所述调度节点将汇总的所述结果数据返回至所述查询客户端,包括:按照所述工作节点所返回的结果数据的顺序,所述调度节点对所述结果数据进行汇总,且将汇总后的结果数据按照所述数据查询请求的原路径返回至所述查询客户端。
在一个示例性实施例中,在所述异构数据库***根据所设置调度节点接收查询客户端发起的数据查询请求之前,所述方法还包括:通过所述调度节点接收所述查询客户端发送的账户信息,且对所述账户信息进行验证;在所述账户信息通过所述验证后,所述调度节点开放所述查询客户端访问所述异构数据库***的权限。
在一个示例性实施例中,在所述异构数据库***根据所设置调度节点接收查询客户端发起的数据查询请求之后,所述方法还包括:将所述查询客户端的账户信息在所述异构数据库***预设的配置文件中进行查询,获取所述查询客户端面向所述异构数据库的查询权限,以根据所述查询权限执行对所述异构数据库***的数据查询。
一种实现异构数据库之间数据交互式查询的装置,包括:查询请求接收模块,用于控制异构数据库***通过所设置的调度节点接收查询客户端发起的数据查询请求,所述异构数据库***是若干异构数据库的集合;逻辑执行计划转换模块,用于通过所述调度节点,将所述数据查询请求中的查询语句解析为逻辑执行计划,且对所述逻辑执行计划进行分布式处理,获得面向所述异构数据库的若干子逻辑执行计划,所述逻辑执行计划是对所述异构数据库执行数据查询的通用执行逻辑;逻辑执行计划执行模块,用于通过对所述异构数据库***所设置的工作节点进行状态检测,将所述子逻辑执行计划对应分配至空闲状态的各个工作节点,使所述工作节点根据所分配子逻辑执行计划执行目标异构数据库的数据查询;查询结果获取模块,用于在所述工作节点将执行所述数据查询的结果数据返回至所述调度节点汇总后,通过所述调度节点将汇总的所述结果数据返回至所述查询客户端。
一种电子设备,所述电子设备包括:
处理器;
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如前任一项所述的方法。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如前任一项所述的方法。
本申请实施例提供的技术方案可以包括以下有益效果:
在上述技术方案中,异构数据库***通过调度节点将数据查询请求中的查询语句解析为不同异构数据库之间通用的逻辑执行计划,并将逻辑执行计划进一步转换为面向各异构数据库的若干子逻辑执行计划,使得工作节点能够根据子逻辑执行计划执行对应异构数据库的数据查询。异构数据库***还通过对各个工作节点进行状态检测,分别将各子逻辑执行计划分配置至空闲状态的工作节点,实现了异构数据库***资源的合理配置。
因此,本申请所揭示异构数据库***通过调度节点进行逻辑执行计划的转换和分配,并通过工作节点执行异构数据库的数据查询,无需进行异构数据库之间的数据交换,从而实现异构数据库之间数据的高效查询。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并于说明书一起用于解释本申请的原理。
图1是根据一示例性实施例示出的本申请所涉及实施环境的示意图;
图2是根据一示例性实施例示出的一种异构数据库***的示意图;
图3是根据一示例性实施例示出的一种实现异构数据库之间数据交互式查询的方法的流程图;
图4是根据图3所对应实施例示出的对步骤220进行描述的流程图;
图5是根据图3所对应实施例示出的对步骤230进行描述的流程图;
图6是根据一示例性实施例示出的一种实现异构数据库之间数据交互式查询的方法的流程图;
图7是根据一示例性实施例所示出的一种实现异构数据库之间数据交互式查询的装置的框图;
图8是根据一示例性实施例所示出的一种电子设备的硬件框图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述,这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种本申请所涉及实施环境的示意图。如图1所示,该实施环境包括查询客户端100和查询服务端200。
其中,查询客户端100与查询服务端200之间预先建立有线或者无线网络连接,以实现查询客户端100与查询服务端200之间的交互。
查询客户端100用于提供用户交互界面,以供用户向查询服务端200查询数据,并将查询结果进行展示。示例性的,查询客户端100所提供用户交互界面设置有查询指令输入的入口,用户通过输入查询关键字等查询信息,查询得到的结果数据即可在用户交互界面进行相应展示。
示例性的,查询客户端100可以是智能手机、平板电脑、笔记本电脑、计算机等电子设备,其数量不作限制(图1仅示出2个)。查询客户端100所提供用户交互界面可以是浏览器页面,或者是APP(Application,应用程序)页面,本处不进行限制。
查询服务端200部署有异构数据库***,是多个相关且架构不同的数据库集合,示例性的,异构数据库***中可包括Oracle、MySQL、Postgre等常见数据库。虽然各数据库架构不同,但由于各数据库所存储数据之间的关联,通常需要对各数据库进行交互式查询,以将查询到的数据集作为查询结果返回给查询客户端100。由此,各异构数据库之间可以实现数据共享和透明访问。
查询服务端200可以是一台服务器,且设置有若干个相关的数据库,或者,查询服务端200也可以是由若干服务器构成的服务器集群,不同服务器所设置数据库的架构不同,本处不进行限制。
图2是根据一示例性实施例示出的一种异构数据库***的示意图。如前所述的,该异构数据库***设置于查询服务端200,以实现底层各数据库之间数据的共享和透明访问。
如图2所示,异构数据库***将调度节点的API(Application ProgrammingInterface,应用程序编程接口)暴露,使得查询客户端通过调用调度节点的API,以向查询服务端发送数据查询请求。
多个相关的异构数据库构成分布式文件***(HDFS),作为异构数据库***的数据底层,以提供数据查询的数据源。
异构数据库***中设置有调度节点和若干工作节点,其中,调度节点用于对接收的数据查询请求进行分析和处理,获得各异构数据库通用的逻辑执行计划,并将逻辑执行计划转换为若干子逻辑执行计划分配至工作节点,以供工作节点执行异构数据库的数据查询。应当理解,调度节点和工作节点是指异构数据库***所部署的可独立执行指定任务的应用程序。
在一个示例性的实施例中,针对异构数据库***中所设置的调度节点和各工作节点,相应设置有备份调度节点及备份工作节点,且通过设置数据转移模块,以保证各节点和备份节点之间数据的一致性。
例如,若当前调用节点或者工作节点出现功能异常,则自动启用备份调用节点或者备份工作节点继续执行异构数据库的数据查询,从而不会影响异构数据库***的整体性能。
由此,异构数据库***通过调度节点进行逻辑执行计划的转换和分配,并通过工作节点执行异构数据库的数据查询,无需进行异构数据库之间的数据交换,从而实现异构数据库之间数据的高效查询。
图3是根据以示例性实施例示出的一种实现异构数据库之间数据交互式查询的方法的流程图,该方法适用于图2所示异构数据库***。如图3所示,该方法至少包括以下步骤:
步骤210,异构数据库***通过所设置的调度节点接收查询客户端发起的数据查询请求。
其中,异构数据库***通过调度节点与外部设备进行数据交互,由于调度节点所对应API被暴露,使得外部应用程序(例如查询客户端)通过进行该API的调用,能够从异构数据库***中查询不同数据库所关联存储的数据。
查询客户端在获取用户所输入查询关键字等查询信息后,会将查询信息处理为数据查询请求,并通过调用异构数据库***中暴露的API,将数据查询请求发送至异构数据库***,且由异构数据库***中的调度节点执行数据查询请求的接收。
示例性的,数据查询请求由调度节点所对应API名称和参数、以及具体的查询语句构成。查询语句为SQL(Structured Query Language,结构化查询语言)语句。
步骤220,通过调度节点,将数据查询请求中的查询语句解析为逻辑执行计划,且逻辑执行计划进行分布式处理,获得面向异构数据库的若干子逻辑执行计划。
其中,逻辑执行计划是对底层数据库执行数据查询的通用执行逻辑。不同异构数据库在执行数据查询操作时,由于受查询语言的限制,导致现有实现无法根据数据查询请求直接进行异构数据库的交互式查询,必须进行数据交换。而本实施例将数据查询请求中的查询语句解析为异构数据库之间通用的逻辑执行计划就很好地解决这个问题。
在一示例性的实施例中,查询语句为标准ANSI SQL查询语句。这是一种相对基础和标准的结构化查询语言,能够很好地转换为底层异构数据库通用的逻辑执行计划。
调度节点接收数据查询请求后,对数据查询请求中查询语句的解析至少包括对查询语句进行语义分析和逻辑计划分析,以及逻辑计划优化的过程。
其中,语义分析包括分别对查询语句进行语法检查和语义检查的过程。当调度节点获取到查询语句存在语法错误或者语义错误,则返回错误信息给查询客户端;当查询语句通过语义分析后,即可对查询语句进行逻辑计划分析,以获得初始逻辑计划。并且,由于初始逻辑执行计划存在部分冗杂信息,可通过计划优化器对初始逻辑计划进行优化,以最终获得通用于各异构数据库的逻辑执行计划。
需要说明的是,对查询语句进行语义分析可以是通过语法分析器实现的,将查询语句转换为初始逻辑执行计划可以是通过逻辑分析器实现的,对初始逻辑执行计划的优化可以是通过计划优化器实现的,该语法分析器、逻辑分析器以及计划优化器也应当理解为是一种可对查询语句独立执行指定处理任务的应用程序。
对逻辑执行计划进行分布式处理,是将逻辑执行子计划转换为若干子逻辑执行计划的过程。示例性的,可按照逻辑执行计划所对应查询的异构数据库的数量,将逻辑执行计划转换为相应数量的子逻辑执行计划,且每一子逻辑执行计划对应执行一个异构数据库的数据查询。例如,假设异构数据库***中设置有A、B、C、D四个异构数据库,当逻辑执行计划中仅包含对异构数据库A和C的数据查询,则可以将逻辑执行计划转换为分别执行异构数据库A中的数据查询以及执行异构数据库B中的数据查询的子逻辑执行计划。需要说明,每一子逻辑执行计划可以对同一异构数据库执行至少一种数据的查询。
或者,由于各异构数据库之间所存储数据的关联性,对某个数据的查询需要依赖于其他异构数据库的查询结果,因此,可按照各异构数据库之间数据查询的关联性,将逻辑执行计划拆分为若干子逻辑执行计划。例如,某一子逻辑执行计划执行对异构数据库A、B和C的相关数据查询。
需要说明的是,由于子逻辑执行计划是通过逻辑执行计划的分布式处理所得,子逻辑执行计划也应当通用于异构数据库***中的各底层异构数据库。
步骤230,通过对异构数据库***所设置的工作节点进行状态检测,将子逻辑执行计划对应分配至空闲状态的各个工作节点,使工作节点根据所分配子逻辑执行计划执行异构数据库的数据查询。
其中,工作节点用于执行异构数据库***中底层异构数据库的数据查询。如果工作节点正在执行异构数据库的数据查询,则表示该工作节点处于工作状态,否则该工作节点处于空闲状态。
通过对工作节点的状态检测,能够获取异构数据库***当前空闲的工作节点,这些空闲的工作节点则可用于执行待分配的子逻辑执行计划。通过将分布式处理所得的子逻辑执行计划分配至空闲状态的工作节点,即可使得这些工作节点根据所分配的子逻辑执行计划执行对应异构数据库的数据查询。
示例性的,对应于步骤220中所描述某一子逻辑执行计划是执行对异构数据库A、B和C的相关数据查询,所分配的工作节点则分别对异构数据库A、B和C执行相关的数据查询
步骤240,在工作节点将执行数据查询的结果数据返回至调度节点汇总后,通过调度节点将汇总的结果数据返回至查询客户端。
其中,工作节点执行所分配子逻辑执行计划获得结果数据后,将结果数据返回至调度节点。调度节点则按照所接收结果数据的顺序,将结果数据进行汇总,所得到汇总后的结果数据即为与查询客户端所发送数据查询请求相对应的查询结果集。
调度节点按照数据查询请求的原路径,将汇总后的结果数据返回至查询客户端,使得查询客户端度对汇总后的结果数据进行相应展示,从而便于用户获取查询结果。
在本实施例中,异构数据库***通过设置调度节点将数据查询请求中的查询语句解析为不同异构数据库之间通用的逻辑执行计划,并将逻辑执行计划进一步转换为面向各异构数据库的若干子逻辑执行计划,使得工作节点能够根据子逻辑执行计划执行异构数据库的数据查询。由于异构数据库***中无需进行异构数据库之间的数据交换,能够实现异构数据库之间数据的高效查询。
并且,异构数据库***还通过对各个工作节点进行状态检测,分别将各子逻辑执行计划分配置至空闲状态的工作节点,实现了异构数据库***资源的合理配置。
此外,本实施例中实现异构数据库之间数据的交互式查询过程都是在内存中执行的,能够避免冗余的磁盘读写和延迟,提升数据查询性能。
图4是图3对应实施例中步骤220在一个示例性实施例中的流程图。如图4所示,对初始逻辑执行计划进行优化的过程至少包括以下步骤:
步骤221,对初始逻辑执行计划中的每一逻辑子句,通过进行等价谓词的重写和指定条件的简化,获得局部优化的逻辑子句。
其中,初始逻辑执行计划中的逻辑子句所含有的等价谓词可以包括like、between、and、in、or等常见谓词。
对逻辑子句进行等价谓词的重写是指,在满足预先设定的谓词转换规则的条件下,将逻辑子句中含有的谓词转换为另一谓词表达,所转换得到新的谓词则称为等价谓词。
示例性的,假设逻辑子句为“sno between 10 and 20”,在满足between-and规则的条件下,可将其重写为“sno>10 and sno<=20”,将and称为between的等价谓词。同理,假设逻辑子句为“name like Abc”,在满足like规则的条件下可将其重写为“name>=Abc andname<Abc”,这时将and称为like的等价谓词。
对逻辑子句进行指定条件的简化则是指,在逻辑子句中不存在聚集函数的情况下,将逻辑子句中存在的having条件与where条件进行合并,能够去除逻辑子句中的一些冗余括号等信息。
步骤222,消除局部优化的逻辑子句之间的外连接和嵌套连接,获得关联优化的初始逻辑执行计划。
其中,逻辑子句之间的外连接包括左外连接、右外连接以及全外连接中的至少一种,消除外连接是指,将逻辑子句之间的外连接转换为内连接。需要说明的是,将逻辑子句之间连接关系转换为内连接,能够有效提升逻辑子句所对应查询操作的速度。
逻辑子句之间的嵌套连接是指,逻辑子句之间执行连接操作的次序不是从左到右逐个进行的。需要说明的是,消除逻辑子句之间的嵌套连接,是指消除嵌套连接中的括号信息,例如对于语句“select*from a join(b join c on b.b1=c.c1)on a.a1=b.b1 wherea.a1>1;”去掉括号对语义没有影响,可以消除。
由此,通过对逻辑子句之间的连接关系进行优化,可以得到关联优化的初始逻辑执行计划。
步骤223,通过对关联优化的初始逻辑执行计划进行语义优化,获得逻辑执行计划。
其中,对步骤222所得到的关联优化的初始逻辑执行计划进行语义优化可以包括分组操作上移或者下移。
分组操作上移是指,将初始逻辑执行计划中的分组操作置后执行。如果连接操作能够过滤掉大部分元组,则先进行连接后进行分组操作,可以提高分组操作效率。
分组操作下移则是指,将初始逻辑执行计划中的分组操作置前执行。分组操作可以较大幅度地减少关系元组的个数,如果能先进行分组操作再进行连接,会提高连接效率。
此外,对关联优化的初始逻辑执行计划进行语义优化还可以包括,将初始逻辑执行计划中没有必要的排序操作消除,避免出现排序操作或由排序导致的操作。
由此,通过本实施例提供的方法,能够实现对初始逻辑执行计划的优化,例如消除初始逻辑执行计划中的一些冗余信息,优化逻辑子句之间的连接关系等,获得更优的逻辑执行计划。
图5是图3对应实施例中步骤230在一个示例性的实施例中的流程图。如图5所示,步骤230至少包括以下步骤:
步骤231,通过将异构数据库***中的全部工作节点添加至线程池,使线程池中启用的多线程分别检测各个工作节点的状态。
其中,线程池是一种多线程的处理形式,在线程池的启用中,多线程各自执行队列中所添加的处理任务。通过将异构数据库***中的全部工作节点添加至线程池,且将多线程所要执行的任务添加至任务队列,使得线程池中的线程分别执行每一工作节点的状态检测,以实时获得每一工作节点的状态。
在一示例性的实施例中,由于线程过多会造成调度开销,进而影响异构数据库***的整体性能,则可按照异构数据库***所设置工作节点的数量相应设置线程数,以满足工作节点对多线程的需求。
步骤232,分别将子逻辑执行计划分配至空闲状态的各个工作节点。
其中,在一个示例性的实施例中,可以在检测到空闲状态的工作节点数量与子逻辑执行计划的数量相匹配后,分别将子逻辑执行计划分配至空闲状态的各工作节点。
但考虑到异构数据库***中资源的合理配置,在检测到一空闲状态的工作节点时,即可进行子逻辑执行计划的分配,直至将最后一子逻辑执行计划分配至工作节点。
如果不同子逻辑执行计划之间具有执行先后顺序,也可按照该执行先后顺序,依次将子逻辑执行计划分配至检测到的空闲状态的工作节点。
由此,在本实施例中,通过将异构数据库中的全部工作节点添加至线程池,使得线程池中启用的多线程对工作节点状态实时检测,十分便于子逻辑执行计划对工作节点的分配。
图6是另一示例性实施例示出的一种实现异构数据库之间数据交互式查询的方法的流程图。如图6所示,在步骤210前,该方法还包括以下步骤:
步骤310,通过调度节点接收查询客户端发送的账户信息,且对该账户信息进行验证。
其中,查询客户端所发送账户信息可以包括登录查询客户端界面的用户名和密码,通过对查询客户端所发送账户信息进行验证,以实现异构数据库***的访问权限控制。
示例性的,客户端所发送账户信息的验证是通过LDAP(轻量目录访问协议)实现的。当用户在查询客户端界面中登录时,查询客户端将登录的用户名和密码发送至调度节点,调度节点接收用户名和密码后,通过所配置的LDAP服务进行用户名和密码的验证。
在所配置LDAP服务中,预先将异构数据库允许访问的账户信息存储在目录树,目录树中的每个节点为一条账户信息。由于LDAP服务是动态的,可以对异构数据库***允许访问的账户信息进行动态更新。
当调度节点接收到查询客户端发送的账户信息后,通过遍历目录树,查找目录树中是否存储有查询客户端所发送账户信息,以对该账户信息进行验证,如果是,则表示该账户信息通过验证,否则视为未通过验证。
步骤320,在该账户信息通过验证后,调度节点开放查询客户端访问异构数据库***的权限。
其中,当账户信息通过验证后,调度节点开放查询客户端访问异构数据库***的权限是指:调度节点响应查询客户端的访问,并根据查询客户端所发送数据查询请求执行异构数据库***中底层异构数据库的数据查询。
若账户信息未通过验证,则表示查询客户端不具有访问异构数据库***的权限,异构数据库***不开放调度节点所对应API,导致查询客户端无法向调度节点发送数据查询请求。
因此,本实施例通过配置LDAP服务,能够实现异构数据库***的访问权限控制,增加了异构数据库***访问的安全性。
在另一示例性的实施例中,在步骤210之后,实现异构数据库之间数据交互式查询的方法还包括以下步骤:
将查询客户端的账户信息在异构数据库***预设的配置文件中进行查询,获取查询客户端面向异构数据库***的查询权限,以根据该查询权限执行对异构数据库***的数据查询。
其中,考虑到在实际的业务场景中,不同用户对业务数据的获取需求往往不同,并且进一步考虑到业务数据的访问安全,有必要对业务数据的查询权限进行角色控制。例如,假设异构数据库***中设置异构数据库A、B和C存储普通业务数据,以及设置异构数据库D存储重要业务数据,普通的业务人员仅限于查询异构数据库A、B和C中的普通业务数据,业务经理还能够查询异构数据库D中的重要业务数据。或者,异构数据库***中设置异构数据库A和B存储第一业务部门的业务数据,设置异构数据库C和D存储第二业务部门的业务数据,各部门所属工作人员仅能够访问所属部门的业务数据。
预设的配置文件是指,异构数据库***针对不同业务人员预先设置的查询权限列表。示例性的,该配置文件中规定了每一账户信息所能够执行查询操作的目标异构数据库、以及对目标数据库所能够执行的查询操作类型等。
当调度节点获取数据查询请求时,根据当前用户的账户信息,通过在配置文件中进行账户信息的匹配,获得当前用户对各个异构数据库的查询权限,由此获得当前查询客户端面向异构数据库***的查询权限。
在根据所获取查询权限执行对异构数据库***的数据查询中,调度节点通过解析查询语句获得的逻辑执行计划,仅包含对授权查询的异构数据库的数据查询执行逻辑。对于未授权查询的异构数据库,则在调度节点生成逻辑执行计划中过滤。由此,工作节点执行的子逻辑执行计划也是面向查询权限所允许异构数据库的,实现了查询客户端对异构数据库***进行数据查询的角色控制。
图7是根据一例性实施例示出的一种实现异构数据库之间数据交互式查询的装置。如图7所示,该装置包括查询请求接收模块410、逻辑执行计划转换模块420、逻辑执行计划执行模块430和查询结果获取模块440。
其中,查询请求接收模块410用于控制异构数据库***通过所设置的调度节点接收查询客户端发起的数据查询请求,该异构数据库***是若干异构数据库的集合。
逻辑执行计划转换模块420用于通过调度节点,将数据查询请求中的查询语句解析为逻辑执行计划,且对逻辑执行计划进行分布式处理,获得面向异构数据库的若干子逻辑执行计划,该逻辑执行计划是对异构数据库执行数据查询的通用执行逻辑。
逻辑执行计划执行模块430用于通过对异构数据库***所设置的工作节点进行状态检测,将子逻辑执行计划对应分配至空闲状态的各个工作节点,使工作节点根据所分配子逻辑执行计划执行目标异构数据库的数据查询。
查询结果获取模块440用于在工作节点将执行数据查询的结果数据返回至调度节点汇总后,通过调度节点将汇总的结果数据返回至查询客户端。
在另一示例性的实施例中,逻辑执行计划转换模块420包括语义分析单元、初始计划获取单元和初始计划优化单元。
其中,语义分析单元用于对标准ANSI SQL查询语句进行语义分析。
初始计划获取单元用于对语义单元输出的标准ANSI SQL查询语句进行逻辑执行计划分析,获得初始逻辑执行计划。
初始计划优化单元用于通过对初始逻辑执行计划进行优化,获得逻辑执行计划。
在另一示例性的实施例中,初始计划优化单元包括局部优化子单元、关联优化子单元和语义优化子单元。
局部优化子单元用于对初始逻辑执行计划中的每一逻辑子句,通过进行等价谓词的重写和指定条件的简化,获得局部优化的逻辑子句。
关联优化子单元用于消除局部优化的逻辑子句之间的外连接和嵌套连接,获得关联优化的初始逻辑执行计划。
语义优化子单元用于通过对关联优化的初始逻辑执行计划进行语义优化,获得逻辑执行计划。
在另一示例性的实施例中,逻辑执行计划执行模块430包括多线程检测单元和计划分配单元。
其中,多线程检测单元用于通过将异构数据库***中的全部工作节点添加至线程池,使线程池中启用的多线程分别检测各个工作节点的状态。
计划分配单元用于分别将子逻辑执行计划分配至空闲状态的各个工作节点。
在另一示例性的实施例中,该装置还包括账户信息验证模块和访问权限执行模块。
其中,账户信息验证模块用于通过调度节点接收查询客户端发送的账户信息,且对账户信息进行验证。
访问权限执行模块用于在账户信息通过验证后,调度节点开放查询客户端访问异构数据库***的权限。
在另一示例性的实施例中,该装置还包括访问角色控制模块。访问角色控制模块用于将查询客户端的账户信息在异构数据库***预设的配置文件中进行查询,获取查询客户端面向异构数据库的查询权限,以根据查询权限执行对异构数据库***的数据查询。
需要说明的是,上述实施例所提供的装置与上述实施例所提供的方法属于同一构思,其中各个模块执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
在一示例性的实施例中,本申请还提供一种电子设备,该电子设备包括:
处理器;
存储器,该存储器上存储有计算机可读指令,该计算机可读指令被处理器执行时,实现如前所述实现异构数据库之间数据交互式查询的方法。
图8是根据一示例性实施例所示出的一种电子设备的框图。该电子设备可以被具体实现为图1所示实施环境中的查询服务端200。
需要说明的是,该电子设备只是一个适配于本申请的示例,不能认为是提供了对本申请的使用范围的任何限制。该电子设备也不能解释为需要依赖于或者必须具有图8中示出的示例性的电子设备中的一个或者多个组件。
该电子设备的硬件结构可因配置或者性能的不同而产生较大的差异,如图8所示,电子设备包括:电源610、接口630、至少一存储器650、以及至少一中央处理器(CPU,CentralProcessing Units)670。
其中,电源610用于为电子设备上的各硬件设备提供工作电压。
接口630包括至少一有线或无线网络接口631、至少一串并转换接口633、至少一输入输出接口635以及至少一USB接口637等,用于与外部设备通信。
存储器650作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作***651、应用程序653或者数据655等,存储方式可以是短暂存储或者永久存储。其中,操作***651用于管理与控制电子设备上的各硬件设备以及应用程序653,以实现中央处理器670对海量数据655的计算与处理,其可以是WindowsServerTM、Mac OS XTM、UnixTM、LinuxTM等。应用程序653是基于操作***651之上完成至少一项特定工作的计算机程序,其可以包括至少一模块(图8中未示出),每个模块都可以分别包含有对电子设备的一系列计算机可读指令。数据655可以是存储于磁盘中的接口元数据等。
中央处理器670可以包括一个或多个以上的处理器,并设置为通过总线与存储器650通信,用于运算与处理存储器650中的海量数据655。
如上面所详细描述的,适用本申请的电子设备将通过中央处理器670读取存储器650中存储的一系列计算机可读指令的形式来完成如前所述的实现异构数据库之间数据交互式查询的方法。
此外,通过硬件电路或者硬件电路结合软件指令也能同样实现本申请,因此,实现本申请并不限于任何特定硬件电路、软件以及两者的组合。
在一示例性的实施例中,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如前所述实现异构数据库之间数据交互式查询的方法。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (10)
1.一种实现异构数据库之间数据交互式查询的方法,其特征在于,所述方法包括:
异构数据库***通过所设置的调度节点接收查询客户端发起的数据查询请求,所述异构数据库***是若干异构数据库的集合;
通过所述调度节点,将所述数据查询请求中的查询语句解析为逻辑执行计划,且对所述逻辑执行计划进行分布式处理,获得面向所述异构数据库的若干子逻辑执行计划,所述逻辑执行计划是对所述异构数据库执行数据查询的通用执行逻辑;
通过对所述异构数据库***所设置的工作节点进行状态检测,将所述子逻辑执行计划对应分配至空闲状态的各个工作节点,使所述工作节点根据所分配子逻辑执行计划执行所述异构数据库的数据查询;
在所述工作节点将执行所述数据查询的结果数据返回至所述调度节点汇总后,通过所述调度节点将汇总的所述结果数据返回至所述查询客户端。
2.根据权利要求1所述的方法,其特征在于,所述查询语句为标准ANSI SQL查询语句,所述通过所述调度节点,将所述数据查询请求中的查询语句解析为逻辑执行计划,包括:
对所述标准ANSI SQL查询语句进行语义分析;
在进行所述语义分析后,通过对所述标准ANSI SQL查询语句进行逻辑执行计划分析,获得初始逻辑执行计划;
通过对所述初始逻辑执行计划进行优化,获得所述逻辑执行计划。
3.根据权利要求2所述的方法,所述通过对所述初始逻辑执行计划进行优化,获得所述逻辑执行计划,包括:
对所述初始逻辑执行计划中的每一逻辑子句,通过进行等价谓词的重写和指定条件的简化,获得局部优化的逻辑子句;
消除局部优化的逻辑子句之间的外连接和嵌套连接,获得关联优化的初始逻辑执行计划;
通过对所述关联优化的初始逻辑执行计划进行语义优化,获得所述逻辑执行计划。
4.根据权利要求1所述的方法,其特征在于,所述通过对所述异构数据库***所设置工作节点进行状态检测,将所述子逻辑执行计划对应分配至空闲状态的各个工作节点,包括:
通过将所述异构数据库***中的全部工作节点添加至线程池,使所述线程池中启用的多线程分别检测各个工作节点的状态;
分别将所述子逻辑执行计划分配至空闲状态的各个工作节点。
5.根据权利要求1所述的方法,其特征在于,所述在所述工作节点将执行所述数据查询的结果数据返回至所述调度节点汇总后,通过所述调度节点将汇总的所述结果数据返回至所述查询客户端,包括:
按照所述工作节点所返回的结果数据的顺序,所述调度节点对所述结果数据进行汇总,且将汇总后的结果数据按照所述数据查询请求的原路径返回至所述查询客户端。
6.根据权利要求1所述的方法,其特征在于,在所述异构数据库***根据所设置调度节点接收查询客户端发起的数据查询请求之前,所述方法还包括:
通过所述调度节点接收所述查询客户端发送的账户信息,且对所述账户信息进行验证;
在所述账户信息通过所述验证后,所述调度节点开放所述查询客户端访问所述异构数据库***的权限。
7.根据权利要求6所述的方法,其特征在于,在所述异构数据库***根据所设置调度节点接收查询客户端发起的数据查询请求之后,所述方法还包括:
将所述查询客户端的账户信息在所述异构数据库***预设的配置文件中进行查询,获取所述查询客户端面向所述异构数据库的查询权限,以根据所述查询权限执行对所述异构数据库***的数据查询。
8.一种实现异构数据户之间数据交互式查询的装置,其特征在于,所述装置包括:
查询请求接收模块,用于控制异构数据库***通过所设置的调度节点接收查询客户端发起的数据查询请求,所述异构数据库***是若干异构数据库的集合;
逻辑执行计划转换模块,用于通过所述调度节点,将所述数据查询请求中的查询语句解析为逻辑执行计划,且对所述逻辑执行计划进行分布式处理,获得面向所述异构数据库的若干子逻辑执行计划,所述逻辑执行计划是对所述异构数据库执行数据查询的通用执行逻辑;
逻辑执行计划执行模块,用于通过对所述异构数据库***所设置的工作节点进行状态检测,将所述子逻辑执行计划对应分配至空闲状态的各个工作节点,使所述工作节点根据所分配子逻辑执行计划执行目标异构数据库的数据查询;
查询结果获取模块,用于在所述工作节点将执行所述数据查询的结果数据返回至所述调度节点汇总后,通过所述调度节点将汇总的所述结果数据返回至所述查询客户端。
9.一种电子设备,其特征在于,所述设备包括:
处理器;
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1至7任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910759791.9A CN110659327A (zh) | 2019-08-16 | 2019-08-16 | 实现异构数据库之间数据交互式查询的方法和相关装置 |
PCT/CN2019/118024 WO2021031407A1 (zh) | 2019-08-16 | 2019-11-13 | 实现异构数据库之间数据交互式查询的方法、装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910759791.9A CN110659327A (zh) | 2019-08-16 | 2019-08-16 | 实现异构数据库之间数据交互式查询的方法和相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110659327A true CN110659327A (zh) | 2020-01-07 |
Family
ID=69037680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910759791.9A Pending CN110659327A (zh) | 2019-08-16 | 2019-08-16 | 实现异构数据库之间数据交互式查询的方法和相关装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110659327A (zh) |
WO (1) | WO2021031407A1 (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625558A (zh) * | 2020-05-07 | 2020-09-04 | 苏州浪潮智能科技有限公司 | 一种服务器架构及其数据库查询方法和存储介质 |
CN111737284A (zh) * | 2020-08-18 | 2020-10-02 | 北京升鑫网络科技有限公司 | 一种基于管道的数据库查询分析方法、装置及计算设备 |
CN112685142A (zh) * | 2020-12-30 | 2021-04-20 | 北京明朝万达科技股份有限公司 | 分布式数据处理*** |
CN112861182A (zh) * | 2021-03-29 | 2021-05-28 | 中信银行股份有限公司 | 数据库的查询方法、***及计算机设备、存储介质 |
CN113093681A (zh) * | 2021-04-08 | 2021-07-09 | 四川远星橡胶有限责任公司 | 一种基于超融合和服务器虚拟化的控制***及方法 |
WO2021254288A1 (en) * | 2020-06-14 | 2021-12-23 | Wenfei Fan | Querying shared data with security heterogeneity |
CN113918996A (zh) * | 2021-11-24 | 2022-01-11 | 企查查科技有限公司 | 分布式数据处理方法、装置、计算机设备和存储介质 |
CN114756577A (zh) * | 2022-03-25 | 2022-07-15 | 北京友友天宇***技术有限公司 | 多源异构数据的处理方法、计算机设备及存储介质 |
CN115033595A (zh) * | 2022-08-10 | 2022-09-09 | 杭州悦数科技有限公司 | 基于超级节点的查询语句处理方法、***、装置和介质 |
WO2023109725A1 (zh) * | 2021-12-15 | 2023-06-22 | 华为技术有限公司 | 一种针对数据库的数据访问方法、装置及设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100030758A1 (en) * | 2008-07-30 | 2010-02-04 | Oracle International Corporation | Hybrid optimization strategies in automatic SQL tuning |
CN101694665A (zh) * | 2009-10-27 | 2010-04-14 | 中兴通讯股份有限公司 | 一种异构数据源数据查询方法及装置 |
US20150254295A1 (en) * | 2014-03-04 | 2015-09-10 | International Business Machines Corporation | Regression testing of sql execution plans for sql statements |
CN105912624A (zh) * | 2016-04-07 | 2016-08-31 | 北京中安智达科技有限公司 | 分布式部署的异构数据库的查询方法 |
CN106445991A (zh) * | 2016-06-30 | 2017-02-22 | 中国石化销售有限公司 | 加气站scada***海量数据处理方法 |
CN106844545A (zh) * | 2016-12-30 | 2017-06-13 | 江苏瑞中数据股份有限公司 | 一种基于标准sql的双引擎数据库***的实现方法 |
CN107315790A (zh) * | 2017-06-14 | 2017-11-03 | 腾讯科技(深圳)有限公司 | 一种非相关子查询的优化方法和装置 |
CN108052635A (zh) * | 2017-12-20 | 2018-05-18 | 江苏瑞中数据股份有限公司 | 一种异构数据源统一联合查询方法 |
CN109284282A (zh) * | 2018-10-22 | 2019-01-29 | 北京极数云舟科技有限公司 | 一种基于MySQL数据库运维方法和*** |
CN110059103A (zh) * | 2019-04-28 | 2019-07-26 | 南京大学 | 一种跨平台统一的大数据sql查询方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107329814B (zh) * | 2017-06-16 | 2020-05-26 | 电子科技大学 | 一种基于rdma的分布式内存数据库查询引擎*** |
CN109656968A (zh) * | 2018-11-15 | 2019-04-19 | 中国建设银行股份有限公司 | 分布式环境下的数据查询方法、装置及存储介质 |
-
2019
- 2019-08-16 CN CN201910759791.9A patent/CN110659327A/zh active Pending
- 2019-11-13 WO PCT/CN2019/118024 patent/WO2021031407A1/zh active Application Filing
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100030758A1 (en) * | 2008-07-30 | 2010-02-04 | Oracle International Corporation | Hybrid optimization strategies in automatic SQL tuning |
CN101694665A (zh) * | 2009-10-27 | 2010-04-14 | 中兴通讯股份有限公司 | 一种异构数据源数据查询方法及装置 |
US20150254295A1 (en) * | 2014-03-04 | 2015-09-10 | International Business Machines Corporation | Regression testing of sql execution plans for sql statements |
CN105912624A (zh) * | 2016-04-07 | 2016-08-31 | 北京中安智达科技有限公司 | 分布式部署的异构数据库的查询方法 |
CN106445991A (zh) * | 2016-06-30 | 2017-02-22 | 中国石化销售有限公司 | 加气站scada***海量数据处理方法 |
CN106844545A (zh) * | 2016-12-30 | 2017-06-13 | 江苏瑞中数据股份有限公司 | 一种基于标准sql的双引擎数据库***的实现方法 |
CN107315790A (zh) * | 2017-06-14 | 2017-11-03 | 腾讯科技(深圳)有限公司 | 一种非相关子查询的优化方法和装置 |
CN108052635A (zh) * | 2017-12-20 | 2018-05-18 | 江苏瑞中数据股份有限公司 | 一种异构数据源统一联合查询方法 |
CN109284282A (zh) * | 2018-10-22 | 2019-01-29 | 北京极数云舟科技有限公司 | 一种基于MySQL数据库运维方法和*** |
CN110059103A (zh) * | 2019-04-28 | 2019-07-26 | 南京大学 | 一种跨平台统一的大数据sql查询方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625558A (zh) * | 2020-05-07 | 2020-09-04 | 苏州浪潮智能科技有限公司 | 一种服务器架构及其数据库查询方法和存储介质 |
WO2021254288A1 (en) * | 2020-06-14 | 2021-12-23 | Wenfei Fan | Querying shared data with security heterogeneity |
CN111737284A (zh) * | 2020-08-18 | 2020-10-02 | 北京升鑫网络科技有限公司 | 一种基于管道的数据库查询分析方法、装置及计算设备 |
CN112685142A (zh) * | 2020-12-30 | 2021-04-20 | 北京明朝万达科技股份有限公司 | 分布式数据处理*** |
CN112861182A (zh) * | 2021-03-29 | 2021-05-28 | 中信银行股份有限公司 | 数据库的查询方法、***及计算机设备、存储介质 |
CN113093681A (zh) * | 2021-04-08 | 2021-07-09 | 四川远星橡胶有限责任公司 | 一种基于超融合和服务器虚拟化的控制***及方法 |
CN113918996A (zh) * | 2021-11-24 | 2022-01-11 | 企查查科技有限公司 | 分布式数据处理方法、装置、计算机设备和存储介质 |
CN113918996B (zh) * | 2021-11-24 | 2024-03-26 | 企查查科技股份有限公司 | 分布式数据处理方法、装置、计算机设备和存储介质 |
WO2023109725A1 (zh) * | 2021-12-15 | 2023-06-22 | 华为技术有限公司 | 一种针对数据库的数据访问方法、装置及设备 |
CN114756577A (zh) * | 2022-03-25 | 2022-07-15 | 北京友友天宇***技术有限公司 | 多源异构数据的处理方法、计算机设备及存储介质 |
CN115033595A (zh) * | 2022-08-10 | 2022-09-09 | 杭州悦数科技有限公司 | 基于超级节点的查询语句处理方法、***、装置和介质 |
CN115033595B (zh) * | 2022-08-10 | 2022-11-22 | 杭州悦数科技有限公司 | 基于超级节点的查询语句处理方法、***、装置和介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2021031407A1 (zh) | 2021-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110659327A (zh) | 实现异构数据库之间数据交互式查询的方法和相关装置 | |
US11989194B2 (en) | Addressing memory limits for partition tracking among worker nodes | |
US11615087B2 (en) | Search time estimate in a data intake and query system | |
US11580107B2 (en) | Bucket data distribution for exporting data to worker nodes | |
US11586627B2 (en) | Partitioning and reducing records at ingest of a worker node | |
US11593377B2 (en) | Assigning processing tasks in a data intake and query system | |
US11599541B2 (en) | Determining records generated by a processing task of a query | |
US11921672B2 (en) | Query execution at a remote heterogeneous data store of a data fabric service | |
US12007996B2 (en) | Management of distributed computing framework components | |
US11341131B2 (en) | Query scheduling based on a query-resource allocation and resource availability | |
US11321321B2 (en) | Record expansion and reduction based on a processing task in a data intake and query system | |
US20200050612A1 (en) | Supporting additional query languages through distributed execution of query engines | |
US10628415B1 (en) | Data sharing and materialized views in multiple tenant database systems | |
US20200050607A1 (en) | Reassigning processing tasks to an external storage system | |
US20190258632A1 (en) | Determining a Record Generation Estimate of a Processing Task | |
US8903841B2 (en) | System and method of massively parallel data processing | |
US7130838B2 (en) | Query optimization via a partitioned environment | |
US10885031B2 (en) | Parallelizing SQL user defined transformation functions | |
US8712994B2 (en) | Techniques for accessing a parallel database system via external programs using vertical and/or horizontal partitioning | |
US20200379994A1 (en) | Sharing Materialized Views In Multiple Tenant Database Systems | |
CN113297057A (zh) | 内存分析方法、装置及*** | |
US11500874B2 (en) | Systems and methods for linking metric data to resources |
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 |