CN105045902A - 一种数据查询的方法及系统 - Google Patents
一种数据查询的方法及系统 Download PDFInfo
- Publication number
- CN105045902A CN105045902A CN201510478320.2A CN201510478320A CN105045902A CN 105045902 A CN105045902 A CN 105045902A CN 201510478320 A CN201510478320 A CN 201510478320A CN 105045902 A CN105045902 A CN 105045902A
- Authority
- CN
- China
- Prior art keywords
- data
- database
- inquiry request
- tables
- inquiry
- 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
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/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
-
- 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/245—Query processing
- G06F16/2453—Query optimisation
-
- 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/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据查询的方法及系统,该方法包括:接收到第一数据查询请求,解析第一数据查询请求,确定第一数据查询请求所请求的数据表处于第一数据以及第二数据库,通过包含了临时数据表的第一数据库引擎以响应第一数据查询请求,这里的临时数据表包含了第二数据库中的数据。简单来讲,就是在第一数据查询请求是混合型数据查询请求时,则系统将第二数据库中的数据表导入到第一数据库中,然后通过第一数据库来直接响应第一数据查询请求,这样就可以使得第一数据查询请求查询出两个数据库中的数据表,从而实现了数据库的混合查询,提升了数据查询效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据查询的方法及系统。
背景技术
随着电子技术发展,计算机的应用也越来越广泛,在数据库管理中常用到两种查询引擎,一种是数据仓库工具Hive引擎,另一种则是关系型数据库管理系统(英文:microsoftStructuredQueryLanguage,简称:MySQL)引擎,若是SQL语言结构引用的是SQL数据库中的数据表时,则直接通过Hive引擎来运行,若是SQL语言结构引用的是MySQL数据库时,则直接通过MySQL数据库引擎来运行。
但是,目前的数据库查询系统并不能支持混合查询,这样就导致数据库查询系统的效率较低。
发明内容
本发明实施例提供了一种切换标签页面的方法及电子设备,用以解决现有技术中数据库查询系统并不能支持混合查询,这样就导致数据库查询系统的效率较低的问题。
其具体的技术方案如下:
一种数据查询的方法,所述方法包括:
接收到第一数据查询请求;
解析所述第一数据查询请求,确定所述第一数据查询请求所请求的数据表处于第一数据以及第二数据库;
通过包含了临时数据表的第一数据库引擎响应所述第一数据查询请求,其中,所述临时数据表包含了所述第二数据库中的数据。
可选的,解析所述第一数据查询请求,确定所述第一数据查询请求所请求的数据表处于第一数据以及第二数据库,包括:
解析所述第一数据查询请求的数据语言结构;
基于所述数据语言结构,确定所述第一数据查询请求所请求的数据表处于第一数据库以及第二数据库。
可选的,在所述第一数据查询请求所引用的数据表处于第一数据库以及第二数据库时,通过包含了临时数据表的第一数据库引擎响应所述第一数据查询请求,包括:
在所述第一查询请求所引用的数据表处于第一数据库以及第二数据库时,将所述第二数据库中的数据导入到所述第一数据库中,生成第一临时表;
通过所述第一临时表以及所述第一数据库中的数据表响应所述第一查询请求。
可选的,还包括:
在所述第一数据查询请求所引用的数据表处于第一数据库时,则通过所述第一数据库引擎响应所述第一数据查询请求。
可选的,还包括:
在所述第一数据查询请求所引用的数据表处于第二数据库时,则通过所述第二数据库响应所述第一数据查询请求。
可选的,在通过所述第一数据库响应所述第一数据查询请求之后,还包括:
获取所述第一数据库引擎输出的结果数据表;
将所述结果数据表转换为所述第二数据库中的数据表,并将所述结果数据表保存在所述第二数据库中。
一种数据查询系统,包括:
接收模块,用于接收到第一数据查询请求;
解析模块,用于解析所述第一数据查询请求,确定所述第一数据查询请求所请求的数据表处于第一数据以及第二数据库;
响应模块,用于通过包含了临时数据表的第一数据库引擎响应所述第一数据查询请求,其中,所述临时数据表包含了所述第二数据库中的数据。
可选的,所述解析模块,具体用于解析所述第一数据查询请求的数据语言结构;基于所述数据语言结构,确定所述第一数据查询请求所请求的数据表处于第一数据库以及第二数据库。
可选的,所述响应模块,具体用于在所述第一查询请求所引用的数据表处于第一数据库以及第二数据库时,将所述第二数据库中的数据导入到所述第一数据库中,生成第一临时表;通过所述第一临时表以及所述第一数据库中的数据表响应所述第一查询请求。
可选的,还包括:
获取模块,用于获取所述第一数据库引擎输出的结果数据表;
处理模块,用于将所述结果数据表转换为所述第二数据库中的数据表,并将所述结果数据表保存在所述第二数据库中。
本发明实施例提供了一种数据查询的方法,该方法包括:接收到第一数据查询请求,解析第一数据查询请求,确定第一数据查询请求所请求的数据表处于第一数据以及第二数据库,通过包含了临时数据表的第一数据库引擎以响应第一数据查询请求,这里的临时数据表包含了第二数据库中的数据。简单来讲,就是在第一数据查询请求是混合型数据查询请求时,则系统将第二数据库中的数据表导入到第一数据库中,然后通过第一数据库来直接响应第一数据查询请求,这样就可以使得第一数据查询请求查询出两个数据库中的数据表,从而实现了数据库的混合查询,提升了数据查询效率。
附图说明
图1为本发明实施例中一种数据查询的方法的流程图;
图2为本发明实施例中一种数据查询系统的结构示意图。
具体实施方式
本发明实施例提供了一种数据查询的方法,该方法包括:接收到第一数据查询请求,解析第一数据查询请求,确定第一数据查询请求所请求的数据表处于第一数据以及第二数据库,通过包含了临时数据表的第一数据库引擎以响应第一数据查询请求,这里的临时数据表包含了第二数据库中的数据。简单来讲,就是在第一数据查询请求是混合型数据查询请求时,则系统将第二数据库中的数据表导入到第一数据库中,然后通过第一数据库来直接响应第一数据查询请求,这样就可以使得第一数据查询请求查询出两个数据库中的数据表,从而实现了数据库的混合查询,提升了数据查询效率。
下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解,本发明实施例以及实施例中的具体技术特征只是对本发明技术方案的说明,而不是限定,在不冲突的情况下,本发明实施例以及实施例中的具体技术特征可以相互组合。
如图1所示为本发明实施例中一种数据查询方法的流程图,该方法可以应用到一数据查询系统中,该方法包括:
S101,接收第一数据查询请求;
S102,解析第一数据查询请求,确定第一数据查询请求所请求的数据表处于第一数据以及第二数据库;
S103,通过包含了临时数据表的第一数据库引擎响应第一数据查询请求。
具体来讲,在数据库查询系统接收到第一数据查询请求时,该数据库查询系统将第一数据查询请求进行解析,也就是解析第一数据查询请求的数据语言结构,比如说,该第一数据查询请求为SQL查询时,该数据库查询系统将解析SQL查询的语言结构。
然后数据库查询系统将基于语言结构,确定第一数据查询请求所要调用的数据表处于两个独立的数据库中,即:第一数据库以及第二数据库,比如说解析结果为SQL查询需要调用SQL数据中的数据表和/或MySQL数据库中的数据表。
若是数据库查询系统确定出第一数据查询请求所请求的数据表处于第一数据库中时,该数据库查询系统将调用第一数据库对应的数据库引擎响应第一数据查询请求,输出对应的数据表。
比如说,第一数据查询请求解析的结果为只查询SQL数据库中的数据表,并没有Hive相关表的应用时,数据库查询系统将调度sqoop工具,然后通过sqoop工具调用MySQL数据库引擎执行,最后通过MySQL数据库引擎来响应第一数据库查询请求。从而输出对应数据库中的数据表。
若是数据库查询系统确定出第一数据查询请求所请求的数据表处于第二数据库中时,该数据库查询系统将调用第二数据库对应的数据库引擎响应第一数据查询请求,数据对应的数据表。
比如说,第一数据查询请求解析的结果为只查询Hive数据库中的数据表,并没有MySQL相关表的引用时,此时数据库查询系统将调度sqoop工具,然后通过sqoop工具调用Hive数据库引擎,最后通过Hive数据库引擎来响应第一数据库查询请求。从而输出对应数据库中的数据表。
若是数据库查询系统确定出第一数据查询请求所请求的数据表处于第二数据库以及第二数据库中时,该数据库查询系统将调用第一数据库引擎响应第一数据查询请求,数据对应的数据表。
具体来讲,在本发明实施例中,在第一查询请求所请求的数据表处于第一数据库以及第二数据时,数据库查询系统会首先将第二数据库中的数据导入到第一数据库中,生成第一临时表,这里的第一临时表中包含了第二数据库中的数据,然后通过第一临时表以及第一数据库中的数据表响应第一查询请求。
比如说,当前处于SQL数据库中时,数据库查询系统接收到的第一数据查询请求既存在Hive相关数据表的引用,并且存在MySQL相关数据表的引用时,此时数据库查询系统将MySQL数据中的数据先导入到SQL数据库中,生成第一临时表,在该第一临时表中就包含了MySQL数据库中的数据。
然后数据库查询系统将基于包含了第一临时表的Hive数据库引擎响应第一数据查询请求,并输出第一数据查询请求对应的结果数据表。
从上述的实施例中可知,当第一数据查询请求为请求第一数据库以及第二数据库中的数据表的混合查询请求时,则数据库查询系统将一个数据库中的数据导入到另一个数据中,然后基于临时表以及另一数据中的数据表对第一数据查询请求进行响应。这样就实现了对不同源的数据库的混合查询,提升了数据查询效率。
当然,在本发明实施例中,若是数据库查询系统确定出第一数据查询请求所请求的数据表处于第二数据库以及第二数据库中时,该数据库查询系统将调用第一数据库引擎响应第一数据查询请求,数据对应的数据表。
具体来讲,在本发明实施例中,在第一查询请求所请求的数据表处于第一数据库以及第二数据时,数据库查询系统会首先将第一数据库中的数据导入到第二数据库中,生成第二临时表,这里的第二临时表中包含了第一数据库中的数据,然后通过第二临时表以及第二数据库中的数据表响应第一查询请求。
比如说,当前处于MySQL数据库中时,数据库查询系统接收到的第一数据查询请求既调取Hive数据库中的数据表以及MySQL数据库中的数据表,此时数据库查询系统将Hive数据中的数据先导入到MySQL数据库中,生成第二临时表,在该第二临时表中就包含了Hive数据库中的数据。
然后数据库查询系统将基于包含了第二临时表的MySQL数据库引擎响应第一数据查询请求,并输出第一数据查询请求对应的结果数据表。
从上述的实施例中可知,当第一数据查询请求为请求第一数据库以及第二数据库中的数据表的混合查询请求时,则数据库查询系统将一个数据库中的数据导入到另一个数据中,然后基于临时表以及另一数据中的数据表对第一数据查询请求进行响应。这样就实现了对不同源的数据库的混合查询,提升了数据查询效率。
进一步,在本发明实施例中,当数据库查询系统得到第一数据查询结果对应的结果数据表时,该数据库查询系统将结果数据表转换为第二数据库中的数据表,并将结果数据表保存在第二数据库中。
具体来讲,若查询时处于Hive数据库中,并且查询出的结果数据表为MySQL数据库下的数据表,此时若是用户需要将该结果数据表保存在Hive数据库中时,数据查询系统会将MySQL数据库下的数据表转换为Hive数据库下的数据表,此时的转换过程与上述实施例中生成临时表的过程基本相同,此处就不再赘述。通过这样的转换可以使得结果数据表可以保存在用户需要的数据库中,并且也使得不同源的数据库之间的数据表可以相互实现保存,提升了数据查询的效率。
当然,若查询时处于MySQL数据库中,并且查询出的结果数据表为Hive数据库下的数据表,此时若是用户需要将该结果数据表保存在MySQL数据库中时,数据查询系统会将Hive数据库下的数据表转换为MySQL数据库下的数据表,此时的转换过程与上述实施例中生成临时表的过程基本相同,此处就不再赘述。
在本发明实施例中,当第一数据查询请求为请求第一数据库以及第二数据库中的数据表的混合查询请求时,则数据库查询系统将一个数据库中的数据导入到另一个数据中,然后基于临时表以及另一数据中的数据表对第一数据查询请求进行响应。这样就实现了对不同源的数据库的混合查询,提升了数据查询效率。
对应本发明实施例提供的一种数据查询方法,本发明实施例还提供了一种数据查询系统,如图2所示为本发明实施例中一种数据查询系统的结构示意图,该系统包括:
接收模块201,用于接收到第一数据查询请求;
解析模块202,用于解析所述第一数据查询请求,确定所述第一数据查询请求所请求的数据表处于第一数据以及第二数据库;
响应模块203,用于通过包含了临时数据表的第一数据库引擎响应所述第一数据查询请求,其中,所述临时数据表包含了所述第二数据库中的数据。
进一步,在本发明实施例中,解析模块202,具体用于解析所述第一数据查询请求的数据语言结构;基于所述数据语言结构,确定所述第一数据查询请求所请求的数据表处于第一数据库以及第二数据库。
进一步,在本发明实施例中,响应模块203,具体用于在所述第一查询请求所引用的数据表处于第一数据库以及第二数据库时,将所述第二数据库中的数据导入到所述第一数据库中,生成第一临时表;通过所述第一临时表以及所述第一数据库中的数据表响应所述第一查询请求。
进一步,在本发明实施例中,该系统还包括:
获取模块,用于获取所述第一数据库引擎输出的结果数据表;
处理模块,用于将所述结果数据表转换为所述第二数据库中的数据表,并将所述结果数据表保存在所述第二数据库中。
尽管已描述了本申请的优选实施例,但本领域内的普通技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种数据查询的方法,其特征在于,所述方法包括:接收到第一数据查询请求;解析所述第一数据查询请求,确定所述第一数据查询请求所请求的数据表处于第一数据以及第二数据库;通过包含了临时数据表的第一数据库引擎响应所述第一数据查询请求,其中,所述临时数据表包含了所述第二数据库中的数据。
2.如权利要求1所述的方法,其特征在于,解析所述第一数据查询请求,确定所述第一数据查询请求所请求的数据表处于第一数据以及第二数据库,包括:解析所述第一数据查询请求的数据语言结构;基于所述数据语言结构,确定所述第一数据查询请求所请求的数据表处于第一数据库以及第二数据库。
3.如权利要求2所述的方法,其特征在于,在所述第一数据查询请求所引用的数据表处于第一数据库以及第二数据库时,通过包含了临时数据表的第一数据库引擎响应所述第一数据查询请求,包括:在所述第一查询请求所引用的数据表处于第一数据库以及第二数据库时,将所述第二数据库中的数据导入到所述第一数据库中,生成第一临时表;通过所述第一临时表以及所述第一数据库中的数据表响应所述第一查询请求。
4.如权利要求2所述的方法,其特征在于,还包括:在所述第一数据查询请求所引用的数据表处于第一数据库时,则通过所述第一数据库引擎响应所述第一数据查询请求。
5.如权利要求3所述的方法,其特征在于,还包括:在所述第一数据查询请求所引用的数据表处于第二数据库时,则通过所述第二数据库响应所述第一数据查询请求。
6.如权利要求1所述的方法,其特征在于,在通过所述第一数据库响应所述第一数据查询请求之后,还包括:获取所述第一数据库引擎输出的结果数据表;将所述结果数据表转换为所述第二数据库中的数据表,并将所述结果数据表保存在所述第二数据库中。
7.一种数据查询系统,其特征在于,包括:接收模块,用于接收到第一数据查询请求;解析模块,用于解析所述第一数据查询请求,确定所述第一数据查询请求所请求的数据表处于第一数据以及第二数据库;响应模块,用于通过包含了临时数据表的第一数据库引擎响应所述第一数据查询请求,其中,所述临时数据表包含了所述第二数据库中的数据。
8.如权利要求7所述的系统,其特征在于,所述解析模块,具体用于解析所述第一数据查询请求的数据语言结构;基于所述数据语言结构,确定所述第一数据查询请求所请求的数据表处于第一数据库以及第二数据库。
9.如权利要求8所述的系统,其特征在于,所述响应模块,具体用于在所述第一查询请求所引用的数据表处于第一数据库以及第二数据库时,将所述第二数据库中的数据导入到所述第一数据库中,生成第一临时表;通过所述第一临时表以及所述第一数据库中的数据表响应所述第一查询请求。
10.如权利要求8所述的系统,其特征在于,还包括:获取模块,用于获取所述第一数据库引擎输出的结果数据表;处理模块,用于将所述结果数据表转换为所述第二数据库中的数据表,并将所述结果数据表保存在所述第二数据库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510478320.2A CN105045902A (zh) | 2015-08-07 | 2015-08-07 | 一种数据查询的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510478320.2A CN105045902A (zh) | 2015-08-07 | 2015-08-07 | 一种数据查询的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105045902A true CN105045902A (zh) | 2015-11-11 |
Family
ID=54452449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510478320.2A Pending CN105045902A (zh) | 2015-08-07 | 2015-08-07 | 一种数据查询的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105045902A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202573A (zh) * | 2016-08-19 | 2016-12-07 | 中国科学院信息工程研究所 | 一种通用的两个数据库联合查询方法 |
CN106919607A (zh) * | 2015-12-25 | 2017-07-04 | 华为技术有限公司 | 一种数据访问方法、装置及系统 |
CN107273545A (zh) * | 2017-07-11 | 2017-10-20 | 王焱华 | 一种大数据查询方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216840A (zh) * | 2008-01-21 | 2008-07-09 | 金蝶软件(中国)有限公司 | 一种数据查询方法和一种数据查询系统 |
CN102902777A (zh) * | 2012-09-28 | 2013-01-30 | 用友软件股份有限公司 | 跨数据源查询装置和跨数据源查询方法 |
-
2015
- 2015-08-07 CN CN201510478320.2A patent/CN105045902A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216840A (zh) * | 2008-01-21 | 2008-07-09 | 金蝶软件(中国)有限公司 | 一种数据查询方法和一种数据查询系统 |
CN102902777A (zh) * | 2012-09-28 | 2013-01-30 | 用友软件股份有限公司 | 跨数据源查询装置和跨数据源查询方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106919607A (zh) * | 2015-12-25 | 2017-07-04 | 华为技术有限公司 | 一种数据访问方法、装置及系统 |
CN106919607B (zh) * | 2015-12-25 | 2020-09-08 | 华为技术有限公司 | 一种数据访问方法、装置及系统 |
CN106202573A (zh) * | 2016-08-19 | 2016-12-07 | 中国科学院信息工程研究所 | 一种通用的两个数据库联合查询方法 |
CN107273545A (zh) * | 2017-07-11 | 2017-10-20 | 王焱华 | 一种大数据查询方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ATE492094T1 (de) | Relationale modelle zur verwaltungsinformation in netzwerkgeräten | |
JPH0765032A (ja) | データベース言語変換機能を持つ情報処理システム | |
EP1814045A3 (en) | System for data format conversion for use in data centers | |
CN103037029B (zh) | 基于绑定注册的域名whois查询方法和服务系统 | |
CN103139299B (zh) | 多云之间的云服务调度方法和系统 | |
CN106227894A (zh) | 一种数据分页查询方法和装置 | |
CN105045902A (zh) | 一种数据查询的方法及系统 | |
CN104268298A (zh) | 一种创建数据库索引及其查询的方法 | |
CN104601554B (zh) | 一种数据交换方法及数据交换装置 | |
CN108874950B (zh) | 一种基于er关系的数据分布存储方法及装置 | |
CN111723161A (zh) | 一种数据处理方法、装置及设备 | |
CN105554169A (zh) | Oid配置、解析方法、ors客户端、oid节点及其数据库 | |
WO2015172497A1 (zh) | 消息推送、获取方法、装置和计算机可读存储介质 | |
CN112182014A (zh) | 数据库查询方法、装置、设备及存储介质 | |
CN106919607B (zh) | 一种数据访问方法、装置及系统 | |
CN111198898A (zh) | 大数据查询方法及大数据查询装置 | |
CN104050297A (zh) | 一种查询事务分配方法及装置 | |
CN103544211A (zh) | 一种将对象转化为sql语句的通用查询系统及方法 | |
CN103092982B (zh) | 基于多视图业务模型的信息服务系统 | |
CN112597216A (zh) | 一种适配多种时序数据库的微服务的方法和装置 | |
WO2018209574A1 (zh) | 一种告警数据查询方法及装置 | |
CN101770483A (zh) | 自适应检索方法、装置及系统 | |
CN103488712A (zh) | 一种自动化测试方法及系统 | |
CN116049232A (zh) | 一种子查询抽取方法、装置、电子设备和存储介质 | |
CN109933710A (zh) | 一种数据查询方法、装置及存储介质、程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20151111 |
|
WD01 | Invention patent application deemed withdrawn after publication |