CN102982075B - 支持访问异构数据源的系统和方法 - Google Patents
支持访问异构数据源的系统和方法 Download PDFInfo
- Publication number
- CN102982075B CN102982075B CN201210424488.1A CN201210424488A CN102982075B CN 102982075 B CN102982075 B CN 102982075B CN 201210424488 A CN201210424488 A CN 201210424488A CN 102982075 B CN102982075 B CN 102982075B
- Authority
- CN
- China
- Prior art keywords
- engine
- access
- information
- implement plan
- syntax tree
- 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.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种支持访问异构数据源的系统及方法。所述支持访问异构数据源的系统包括:访问接口,用于接收访问信息;元数据管理模块,用于维护元数据信息;查询引擎,用于从来自所述访问接口的所述访问信息生成原始语法树,并根据所述元数据管理模块中的所述元数据信息将所述原始语法树生成执行计划;以及执行引擎,用于根据所述查询引擎生成的执行计划来执行任务。
Description
技术领域
本发明涉及支持访问异构数据源的系统和方法。
背景技术
随着业务的快速发展,关系型数据库不再满足容量和数据量上的要求,因而引入了NoSQL数据存储。
对于关系型数据库,存在多种支持多种关系型数据库的访问框架。典型的代表包括db proxy以及类似Aladdin的数据库访问中间件。
Db proxy是一种代理技术,它实现了将访问指向具体的某个物理数据库,并执行后返回结果。它的主要问题在于:
1)同一时刻只能使用同一种关系型数据库,不支持多种关系型数据库同时使用;
2)程序开发完成后,SQL语句只针对一种特定的关系型数据库,当关系型数据库更换(例如从Oracle换成MySQL)后,需要重写SQL语句乃至重新开发;
3)不能支持NoSQL数据存储的访问。
与此类似的一个技术是C-JDBC和Aladdin。C-JDBC是在普通硬件上的基于JDBC实现的访问关系型数据库集群的中间件,它为应用程序提供一个单一的数据库视图。客户端程序不用修改,就可透明地访问不同类型的关系型数据库集群。Aladdin是一个访问关系型数据库的中间件,它的后端可以同时连接各种数据库,Aladdin在解决企业在数据库整合上面提供积极的帮助。使用者不需要知道后端到底使用了什么类型的数据库、数据库的物理地址,这些由Aladdin来分析SQL语句,并且获得相应的要查询的表跟条件,然后由这些规则结合这些条件进行路由到相关的物理数据库。C-JDBC以及Aladdin的主要问题在于:
1)不支持NoSQL类型的数据存储;
2)仅能访问单一的数据存储。
综上所述,现有技术不能解决如下问题:
(1)支持NoSQL类型的数据存储;
(2)异构数据存储下的统一访问实现;
(3)支持异构数据源的混合使用。
因此,期望提供一种支持访问异构数据源的系统和方法,其能够:1)统一和简化对各种类型存储的访问(包括关系数据库和NoSQL数据存储),用户在使用时不需要关心数据源类型、物理地址等信息;2)实现了在一种异构数据源(包括关系数据库和NoSQL数据存储)下的混合使用;用户在同一次查询中可以同时查询存储于不同类型数据存储的数据。
发明内容
为了解决现有技术中的上述缺点和问题中的至少一个而提出本发明。
根据一个方面,本发明提出了一种支持访问异构数据源的系统,所述异构数据源为关系型数据库和NoSQL数据库,包括:访问接口,用于接收访问信息;元数据管理模块,用于维护元数据信息;查询引擎,用于从来自所述访问接口的所述访问信息生成原始语法树,并根据所述元数据管理模块中的所述元数据信息将所述原始语法树生成执行计划;以及执行引擎,用于根据所述查询引擎生成的执行计划来执行任务;所述查询引擎包括:词法分析器,用于按照查询引擎的词法分析规则,从所述访问信息生成标志;语法分析器,用于根据所述标志生成抽象语法树;以及语法转换器,用于根据所述抽象语法树生成执行计划,还用于根据语法分析器生成的抽象语法树,遍历抽象语法树,利用从元数据中获取的相对应内容将语法树中抽象的语法替换为具体的数据库的语法,从而生成执行计划。
可选地,所述执行引擎包括:作业执行引擎,用于将所述执行计划翻译为执行内容;以及分布式任务执行引擎,用于执行任务以获得结果。
可选地,所述分布式任务执行引擎包括RDBMS任务执行引擎、MR/Hive任务执行引擎、本地任务执行引擎、KV任务执行引擎和列任务执行引擎中的一个或多个。
可选地,所述元数据信息包括与数据存储的物理位置、访问用户账号相关的信息、与数据存储的存储格式以及存储引擎相关的信息和与数据格式的定义相关的信息中的一个或多个。
可选地,所述访问信息是以查询语言描述的。
可选地,所述作业执行引擎根据数据存储的类型调用适当的分布式任务执行引擎。
根据另一个方面,本发明提出了一种支持访问异构数据源的方法,所述异构数据源为关系型数据库和NoSQL数据库,包括:通过访问接口接收访问请求;通过所述访问接口将所述访问请求发送到查询引擎;通过所述查询引擎从所述访问请求生成执行计划;通过所述查询引擎将所述执行计划提交给执行引擎;以及通过所述执行引擎执行所生成的执行计划并生成执行结果;通过所述查询引擎从所述访问请求生成执行计划包括:通过所述查询引擎中的词法分析器按照查询引擎的词法分析规则,从所述访问请求生成标志;通过所述查询引擎中的语法分析器生成抽象语法树;以及通过所述查询引擎中的语法转换器生成执行计划,其中,根据语法分析器生成的抽象语法树,遍历抽象语法树,利用从元数据中获取的相对应内容将语法树中抽象的语法替换为具体的数据库的语法,从而生成执行计划。
可选地,通过所述执行引擎执行所生成的执行计划并生成执行结果包括:通过所述执行引擎中的作业执行引擎将执行计划翻译为执行内容;通过所述作业执行引擎调用所述执行引擎中的分布式任务执行引擎来执行任务;以及通过所述作业执行引擎对所述分布式任务执行引擎获得的结果进行合并和累计,并输出最终结果。
附图说明
通过下面结合附图进行的描述,本发明一些示范性实施例的上述和其他方面、特征和优点对于本领域技术人员来说将变得显而易见,其中:
图1是图示根据本发明的支持访问异构数据源的系统的框图;
图2是图示查询引擎生成执行计划的图;
图3是图示作业执行引擎根据数据存储的类型调用适当的分布式任务执行引擎的图;
图4是图示简单查询流程的执行计划的图;
图5是图示聚合查询流程的执行计划的图;以及
图6是图示根据本发明的支持访问异构数据源的方法的图。
具体实施方式
提供参考附图的下面描述以帮助全面理解本发明的示范性实施例。其包括各种细节以助于理解,而应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,省略了对公知功能和结构的描述。
根据本发明的支持访问异构数据源的系统和方法能够统一和简化对异构类型数据存储(包括关系型数据库和NoSQL数据存储)的访问,用户在使用时不需要关心数据源类型、物理地址等信息;并且实现了在异构数据存储(包括关系数据库和NoSQL数据存储)下的混合数据访问,用户在同一次查询中可以同时查询存储于不同类型数据存储的数据。
下面将参考附图详细描述本发明。
图1是图示根据本发明的支持访问异构数据源的系统的框图。
如图1中所示,根据本发明的支持访问异构数据源的系统包括访问接口110、元数据管理模块120、查询引擎(查询引擎)130和执行引擎140。
访问接口110用于接收访问信息。例如,访问接口110可以从应用接收以查询语言描述的访问信息。具体地,当客户访问一个应用时,可以通过在搜索框中输入关键词或点击应用的界面中提供的连接,从而应用将用户输入的信息转换成查询语言形式而将访问信息发送到访问接口110。
元数据管理模块120用于维护元数据信息。
元数据信息包括例如a.与数据存储的物理位置、访问用户账号相关的信息,b.与数据存储的存储格式以及存储引擎相关的信息,以及c.与数据格式的定义相关的信息。
与数据存储的物理位置、访问用户账号相关的信息对于不同的数据存储而包括不同的信息。对于关系型数据库,与数据存储的物理位置、访问用户账号相关的信息包括例如数据库的IP、端口号、用户名和账号。对于NoSQL数据存储,与数据存储的物理位置、访问用户账号相关的信息包括例如命名空间节点的信息,其中对于Hadoop,包括例如节点名称(Namenode)信息(包括HDFS文件系统的IP以及端口号、访问用户名)以及作业跟踪器(JobTracker)信息;对于HBase这样的数据存储,与数据存储的物理位置、访问用户账号相关的信息包括例如ZooKeeper的IP地址、端口号以及访问用户名。
与数据存储的存储格式以及存储引擎相关的信息对于不同的数据存储而包括不同的信息。对于关系型数据库,与数据存储的存储格式以及存储引擎相关的信息包括例如数据库类型以及存储引擎(可选)。例如,当数据库类型是MySQL时,存储引擎是InnoDB。对于NoSQL数据存储,与数据存储的存储格式以及存储引擎相关的信息包括例如数据存储的类型以及存储类型。例如,当存储类型是HDFS时,存储类型是TEXT文本文件。
与数据格式的定义相关的信息对于不同的数据存储而包括不同的信息。对于关系型数据库,与数据格式的定义相关的信息主要包括数据库、表、字段的定义。对于NoSQL数据存储,与数据格式的定义相关的信息主要包括被抽象表达成数据库、表和字段的定义、以及对应的映射关系。
虽然在上面说明了元数据管理模块120维护的元数据信息,然而其仅仅是示例性的,可以根据实际需要,维护更多或更少的元数据信息。
查询引擎130用于从访问信息生成原始语法树,根据元数据信息将原始语法树生成执行计划。
查询引擎130包括词法分析器132、语法分析器134和语法转换器136。
如图2中所示,词法分析器132用于生成标志(Token)。例如,词法分析器132分析输入的访问信息中的字符流,按照查询引擎的词法分析规则,将他们翻译成查询引擎支持的离散的多个Token,包括关键字、标识符、符号和操作符供语法分析器使用。
语法分析器134用于生成抽象语法树。例如,语法分析器134将接收到的Token组织起来,根据查询引擎的语法规则,转换成为查询引擎语法定义所允许的序列,从而生成抽象语法树(AST)。
语法转换器136用于生成执行计划。例如,语法转换器136根据语法分析器生成的抽象语法树,遍历抽象语法树,利用从元数据中获取的相对应内容将语法树中抽象的语法替换为具体的数据库的语法,从而生成执行计划。执行计划是一系列步骤的集合,这些步骤共同构成有向无环图:1)输入;2)输出;3)计算规则;4)组合条件。
执行引擎140用于根据查询引擎130生成的执行计划来执行任务。执行引擎140可以包括作业执行引擎142和分布式任务执行引擎144。
作业执行引擎142用于将执行计划翻译为执行内容,调用分布式任务执行引擎144执行任务,对分布式任务执行引擎获得的结果进行合并和累计,并输出最终结果。此外,在有维度要求的情况下,进行替换后,得出最终结果集。在执行计划的过程中,可以进行优化,包括:1)任务执行被分发到离数据存储最近的位置(本机)执行;2)在作业执行引擎中将任务执行结果合并处理出最终结果。
分布式任务执行引擎144用于执行任务以获得结果。分布式任务执行引擎144基于统一框架实现对于异构数据存储的访问,包括对于异构数据存储的访问以及基本算法单元的封装实现。
如图3中所示,当任务针对RDBMS时,作业执行引擎调用RDBMS任务执行引擎;当任务针对存储在HDFS中的数据时作业执行引擎调用MR/Hive任务执行引擎;当作业针对存储在本地文件系统的数据时,作业执行引擎将调用本地任务执行引擎;当任务针对KV类型的数据时,作业执行引擎将调用KV任务执行引擎;以及当任务针对列存储中的数据时,作业执行引擎将调用列任务执行引擎。
RDBMS任务执行引擎可以通过关系型数据库任务执行引擎JDBC驱动来实现,用于对关系型数据库进行访问。MR/Hive任务执行引擎可以通过Hadoop来实现,其MapReduce作业而对HDFS进行访问。本地任务执行引擎可以通过由Shell、Python等脚本以及Linux系统本地命令来实现,其可以访问系统本地的数据存储而实现Native访问。KV任务执行引擎可以通过专门针对KV类型的NoSQL存储(例如memcached以及Redis)来实现,以实现KV访问。列任务执行引擎可以通过针对HBase、Hypertable、Cassandra等列存储设计来实现,以实现列存储访问。
作业执行引擎142根据底层数据源的不同将执行计划翻译成具体的执行内容,并调用相应的任务执行引擎。针对RDBMS,将执行计划分解为一系列的SQL语句,并调用RDBMS任务执行引擎;针对存储在HDFS中的数据,包括直接生成MapReduce作业和生成HQL两种实现方式,然后调用MR/Hive任务执行引擎;针对存储在本地文件系统、KV类型和列存储中的数据,将执行计划翻译成JSON格式,然后分别调用本地任务执行引擎、KV任务执行引擎和列任务执行引擎。
为了减轻数据传输对于网络的压力,任务执行引擎144都尽可能部署在数据存储的节点中。
下面将参考图4和图5描述简单查询流程的执行计划和聚合查理流程的执行计划。
图4是示出简单查询流程(Select,Where,Order by,Lookup)的执行计划流程的图。
如图4中所示,在分布式任务执行引擎中执行以下过程:a)读取每一行数据,针对列计算规则,执行计算(计算包括求和等常规的计算、字符串函数等等);b)根据where条件对列进行过滤,如果过滤没通过,跳转到下一条数据;通过则继续执行;c)如果有排序要求,采用二进制搜索以及插入排序方法,将当前记录插入到记录集中;如果没有排序要求,直接将结果加入到结果集。然后在作业执行引擎中执行以下过程:a)将各分布式执行引擎获得的结果进行合并,如果有维度要求,在此进行替换后,得出最终结果集。
图5是示出聚合查询流程(Aggregate、where、group by、having、order by)的执行计划流程的图。
如图5中所示,在分布式任务执行引擎中执行以下过程:a)读取每一行数据,根据where条件进行过滤,如果过滤没通过,跳转到下一条数据;通过则继续执行;b)针对列进行聚合;c)将结果加入到结果集。然后在作业执行引擎中执行以下过程:a)累积各分布式执行引擎获得的结果,b)执行Having等条件;c)如果有排序要求,采用二进制搜索以及插入排序方法,将当前记录插入到记录集中;如果没有排序要求,直接将结果加入到结果集;如果有维度要求,在此进行替换后,得出最终结果集。
图6是图示根据本发明的支持访问异构数据源的方法的图。
如图6中所示,在步骤610中,通过访问接口接收访问请求。例如,通过访问接口从应用接收以查询语言形式的访问请求。
在步骤620中,通过访问接口将访问请求发送到查询引擎。
在步骤630中,通过查询引擎从访问请求生成执行计划。
通过查询引擎从访问请求生成执行计划例如包括:通过查询引擎中的词法分析器生成标志;通过查询引擎中的语法分析器生成抽象语法树(AST);通过查询引擎中的语法转换器生成执行计划。具体生成执行计划的细节可以参考针对图1所描述的细节。
在步骤640中,通过查询引擎将执行计划提交给执行引擎。
在步骤650中,执行引擎执行所生成的执行计划并生成执行结果。
执行引擎执行所生成的执行计划并生成执行结果可以包括通过执行引擎中的作业执行引擎将执行计划翻译为执行内容,调用执行引擎中的分布式任务执行引擎来执行任务,对分布式任务执行引擎获得的结果进行合并和累计,并输出最终结果。具体执行所生成的执行计划的细节可以参考针对图1-5所描述的细节。
应指出的是,上面分别对本发明的装置和方法实施例分别进行了描述,但是对一个实施例描述的细节也可应用于另一个实施例。
以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,对本领域的普通技术人员而言,能够理解本发明的方法和系统的全部或者任何步骤或者部件可以以软件、硬件、固件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。
因此,本发明的目的还可以通过在任何计算装置上运行一个软件模块或者一组软件模块来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。
虽然本说明书包含许多特定实施方式细节,但是不应当将这些细节解释为对任何发明或可以主张的内容的范围的限制,而应当解释为对可以特定于特定发明的特定实施例的特征的描述。还可以将在本说明书中在分离的实施例的情境中描述的某些特征组合在单个实施例中实现。相反地,也可以将在单个实施方式的情境中描述的各个特征分离地在多个实施方式中实现或在任何适当的子组合中实现。此外,尽管可能在上面将特征描述为在某些组合中起作用,甚至最初主张如此,但是可以在一些情况下将来自所主张的组合的一个或多个特征从组合中删去,并且可以将所主张的组合指向子组合或者子组合的变体。
类似地,虽然在附图中以特定次序描绘了操作,但是不应当将这理解为需要以所示的特定次序或者以连续次序执行这样的操作、或者需要执行所有图示的操作才能达到期望的结果。在某些情况下,多任务以及并行处理可以是有利的。此外,不应当将在上述实施例中的各种系统组件的分离理解为在所有实施例中均需要这样的分离,而应当理解的是,通常可以将所描述的程序组件和系统集成到一起成为单个软件产品或封装为多个软件产品。
计算机程序(也称作程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言编写,所述编程语言包括编译或解释语言、或者说明性或过程语言,并且其可以以任何形式部署,包括作为独立程序或作为模块、组件、子程序或适于在计算环境中使用的其它单元。计算机程序没有必要对应于文件系统中的文件。可以将程序存储在保持其它程序或数据的文件(例如,存储在标记语言文档中的一个或多个脚本)的一部分、专用于讨论中的程序的单个文件或者多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (8)
1.一种支持访问异构数据源的系统,所述异构数据源为关系型数据库和NoSQL数据库,包括:
访问接口,用于接收访问信息;
元数据管理模块,用于维护元数据信息;
查询引擎,用于从来自所述访问接口的所述访问信息生成原始语法树,并根据所述元数据管理模块中的所述元数据信息将所述原始语法树生成执行计划;以及
执行引擎,用于根据所述查询引擎生成的执行计划来执行任务;
其中,所述查询引擎包括:
词法分析器,用于按照查询引擎的词法分析规则,从所述访问信息生成标志;
语法分析器,用于根据所述标志生成抽象语法树;以及
语法转换器,用于根据所述抽象语法树生成执行计划,还用于根据语法分析器生成的抽象语法树,遍历抽象语法树,利用从元数据中获取的相对应内容将语法树中抽象的语法替换为具体的数据库的语法,从而生成执行计划。
2.根据权利要求1所述的系统,其中,所述执行引擎包括:
作业执行引擎,用于将所述执行计划翻译为执行内容;以及
分布式任务执行引擎,用于执行任务以获得结果。
3.根据权利要求2所述的系统,其中,所述分布式任务执行引擎包括RDBMS任务执行引擎、MR/Hive任务执行引擎、本地任务执行引擎、KV任务执行引擎和列任务执行引擎中的一个或多个。
4.根据权利要求1所述的系统,其中,所述元数据信息包括与数据存储的物理位置、访问用户账号相关的信息、与数据存储的存储格式以及存储引擎相关的信息和与数据格式的定义相关的信息中的一个或多个。
5.根据权利要求1所述的系统,其中,所述访问信息是以查询语言描述的。
6.根据权利要求2所述的系统,其中,所述作业执行引擎根据数据存储的类型调用适当的分布式任务执行引擎。
7.一种支持访问异构数据源的方法,所述异构数据源为关系型数据库和NoSQL数据库,包括:
通过访问接口接收访问请求;
通过所述访问接口将所述访问请求发送到查询引擎;
通过所述查询引擎根据用于维护元数据信息的元数据管理模块中的元数据信息从所述访问请求生成执行计划;
通过所述查询引擎将所述执行计划提交给执行引擎;以及
通过所述执行引擎执行所生成的执行计划并生成执行结果;
其中,通过所述查询引擎从所述访问请求生成执行计划包括:
通过所述查询引擎中的词法分析器按照查询引擎的词法分析规则,从所述访问请求生成标志;
通过所述查询引擎中的语法分析器生成抽象语法树;以及
通过所述查询引擎中的语法转换器生成执行计划,其中,根据语法分析器生成的抽象语法树,遍历抽象语法树,利用从元数据中获取的相对应内容将语法树中抽象的语法替换为具体的数据库的语法,从而生成执行计划。
8.根据权利要求7所述的方法,其中,通过所述执行引擎执行所生成的执行计划并生成执行结果包括:
通过所述执行引擎中的作业执行引擎将执行计划翻译为执行内容;
通过所述作业执行引擎调用所述执行引擎中的分布式任务执行引擎来执行任务;以及
通过所述作业执行引擎对所述分布式任务执行引擎获得的结果进行合并和累计,并输出最终结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210424488.1A CN102982075B (zh) | 2012-10-30 | 2012-10-30 | 支持访问异构数据源的系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210424488.1A CN102982075B (zh) | 2012-10-30 | 2012-10-30 | 支持访问异构数据源的系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102982075A CN102982075A (zh) | 2013-03-20 |
CN102982075B true CN102982075B (zh) | 2016-10-05 |
Family
ID=47856095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210424488.1A Active CN102982075B (zh) | 2012-10-30 | 2012-10-30 | 支持访问异构数据源的系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102982075B (zh) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103209214A (zh) * | 2013-04-03 | 2013-07-17 | 蓝盾信息安全技术股份有限公司 | 一种基于NoSQL的消息中间件的实现方法 |
CN103631868B (zh) * | 2013-11-04 | 2017-01-11 | 中国电子科技集团公司第十五研究所 | 一种兼容关系数据库的数据管理系统 |
CN104809124B (zh) * | 2014-01-24 | 2018-06-26 | 中国移动通信集团河北有限公司 | 云虚拟文件系统及其输入/输出请求处理方法 |
CN105302842A (zh) * | 2014-07-31 | 2016-02-03 | 北大方正集团有限公司 | 一种数据处理方法及装置 |
CN104794247B (zh) * | 2015-05-14 | 2018-01-05 | 东南大学 | 一种多结构数据库集成查询方法 |
CN105279281A (zh) * | 2015-11-17 | 2016-01-27 | 天泽信息产业股份有限公司 | 一种物联网数据存取方法 |
CN106897322B (zh) * | 2015-12-21 | 2019-10-29 | 中国移动通信集团山西有限公司 | 一种数据库和文件系统的访问方法和装置 |
CN106933869B (zh) * | 2015-12-30 | 2020-09-01 | 北京京东尚科信息技术有限公司 | 一种操作数据库的方法和装置 |
CN106055590A (zh) * | 2016-05-23 | 2016-10-26 | 环球大数据科技有限公司 | 基于大数据及图数据库的电力网络数据处理方法和系统 |
CN108073590A (zh) * | 2016-11-10 | 2018-05-25 | 北京国双科技有限公司 | 文档数据库的管理方法和装置 |
CN106970943A (zh) * | 2017-02-21 | 2017-07-21 | 南京中新赛克科技有限责任公司 | 基于异构数据源和分布式文件系统的融合查询方法 |
CN107688659A (zh) * | 2017-09-08 | 2018-02-13 | 北京奇艺世纪科技有限公司 | 一种数据处理方法及装置 |
CN108121778B (zh) * | 2017-12-14 | 2020-12-25 | 浙江航天恒嘉数据科技有限公司 | 一种异构数据交换与清洗系统及方法 |
CN108052635A (zh) * | 2017-12-20 | 2018-05-18 | 江苏瑞中数据股份有限公司 | 一种异构数据源统一联合查询方法 |
CN109981698B (zh) * | 2017-12-27 | 2022-03-04 | 博元森禾信息科技(北京)有限公司 | 基于元数据的数联网跨域数据访问标准化系统及方法 |
CN109213820B (zh) * | 2018-08-30 | 2021-10-22 | 成都索贝数码科技股份有限公司 | 一种实现多种类型的数据库融合使用的方法 |
CN111221888A (zh) * | 2018-11-27 | 2020-06-02 | 北京奇虎科技有限公司 | 大数据分析系统及方法 |
CN111221843A (zh) * | 2018-11-27 | 2020-06-02 | 北京奇虎科技有限公司 | 大数据处理方法及装置 |
CN111221841A (zh) * | 2018-11-27 | 2020-06-02 | 北京奇虎科技有限公司 | 基于大数据的实时处理方法及装置 |
CN111221842A (zh) * | 2018-11-27 | 2020-06-02 | 北京奇虎科技有限公司 | 大数据处理系统及方法 |
CN111221852A (zh) * | 2018-11-27 | 2020-06-02 | 北京奇虎科技有限公司 | 基于大数据的混合查询处理方法及装置 |
CN111309751A (zh) * | 2018-11-27 | 2020-06-19 | 北京奇虎科技有限公司 | 大数据处理方法及装置 |
CN109656943A (zh) * | 2018-12-12 | 2019-04-19 | 国网辽宁省电力有限公司信息通信分公司 | 屏蔽异构数据库查询复杂度的数据服务方法 |
CN111367954A (zh) * | 2018-12-26 | 2020-07-03 | 中兴通讯股份有限公司 | 数据查询处理方法、装置及系统、计算机可读存储介质 |
CN110704479A (zh) * | 2019-09-12 | 2020-01-17 | 新华三大数据技术有限公司 | 任务处理方法、装置、电子设备及存储介质 |
CN111008021A (zh) * | 2019-12-24 | 2020-04-14 | 象辑知源(武汉)科技有限公司 | 一种基于Presto的支持多数据源的混合执行SQL和python脚本的方法及系统 |
CN111522816B (zh) * | 2020-04-16 | 2021-04-30 | 云和恩墨(北京)信息技术有限公司 | 基于数据库引擎的数据处理方法、装置、终端及介质 |
CN113590085B (zh) * | 2020-04-30 | 2023-06-16 | 广东中砼物联网科技有限公司 | 多源异构数据的处理方法、计算机设备、存储介质 |
US11681508B2 (en) | 2020-08-24 | 2023-06-20 | Cisco Technology, Inc. | Source code analysis to map analysis perspectives to events |
US11442708B2 (en) | 2020-09-17 | 2022-09-13 | Cisco Technology, Inc. | Compiler-generated alternate memory-mapped data access operations |
CN113641862A (zh) * | 2020-11-23 | 2021-11-12 | 国网上海能源互联网研究院有限公司 | 一种基于统一访问分布式集成多源异构数据的方法及系统 |
CN112347126B (zh) * | 2021-01-05 | 2021-04-02 | 平安科技(深圳)有限公司 | 大数据处理方法、装置、设备及介质 |
CN113032423B (zh) * | 2021-05-31 | 2021-08-17 | 北京谷数科技股份有限公司 | 基于多数据引擎动态装载的查询方法和系统 |
CN116263776A (zh) * | 2021-12-15 | 2023-06-16 | 华为技术有限公司 | 一种针对数据库的数据访问方法、装置及设备 |
CN115952203B (zh) * | 2023-03-08 | 2023-08-04 | 阿里巴巴(中国)有限公司 | 数据查询方法、设备、系统及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101984439A (zh) * | 2010-12-09 | 2011-03-09 | 上海市共进通信技术有限公司 | 基于子查询实现数据源xml查询系统优化的方法 |
-
2012
- 2012-10-30 CN CN201210424488.1A patent/CN102982075B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101984439A (zh) * | 2010-12-09 | 2011-03-09 | 上海市共进通信技术有限公司 | 基于子查询实现数据源xml查询系统优化的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102982075A (zh) | 2013-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102982075B (zh) | 支持访问异构数据源的系统和方法 | |
US11068439B2 (en) | Unsupervised method for enriching RDF data sources from denormalized data | |
AU2015247639B2 (en) | Processing data from multiple sources | |
CN106897322B (zh) | 一种数据库和文件系统的访问方法和装置 | |
US7917463B2 (en) | System and method for data warehousing and analytics on a distributed file system | |
JP6144700B2 (ja) | 半構造データのためのスケーラブルな分析プラットフォーム | |
US9146955B2 (en) | In-memory, columnar database multidimensional analytical view integration | |
EP2577507B1 (en) | Data mart automation | |
US10437819B2 (en) | Processing queries containing a union-type operation | |
US20130311454A1 (en) | Data source analytics | |
US20230244684A1 (en) | Techniques for decoupling access to infrastructure models | |
US11243958B2 (en) | Implementing contract-based polymorphic and parallelizable SQL user-defined scalar and aggregate functions | |
CN110019314B (zh) | 基于数据项分析的动态数据封装方法、客户端和服务端 | |
US20190347341A1 (en) | Method and system for schema transformation | |
US11775517B2 (en) | Query content-based data generation | |
CN106777299B (zh) | 运用管理工具与静态数据仓库的项目依赖关系解决方法 | |
US11216454B1 (en) | User defined functions for database query languages based on call-back functions | |
KR20130059593A (ko) | 클라우드 서비스 컴포넌트간 매쉬업을 통한 통합 클라우드 서비스 시스템 | |
US20200387507A1 (en) | Optimization of database execution planning | |
US20170139982A1 (en) | Processing of Data Chunks Using a Database Calculation Engine | |
Hagedorn et al. | Conquering a Panda's weaker self-Fighting laziness with laziness. | |
Leida et al. | Facing big data variety in a model driven approach | |
US10152556B1 (en) | Semantic modeling platform | |
US20230297551A1 (en) | Transforming data of strict schema structure database | |
Anca Vasiliev et al. | Data Federation for a Project Management Solution through a GraphQL Middleware |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |