[发明专利]数据处理设备和操作数据处理设备的方法有效
申请号: | 201580083383.6 | 申请日: | 2015-09-28 |
公开(公告)号: | CN108027819B | 公开(公告)日: | 2020-10-23 |
发明(设计)人: | 亚历山大·弗拉基米罗维奇·斯莱萨连科;康斯坦丁·亚历山德罗维奇·克尼日尼克 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453;G06F9/455 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 熊永强;李稷芳 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据处理 设备 操作 方法 | ||
本发明涉及一种数据处理设备(100),用于从数据存储库(107)中提取数据以响应数据查询。所述数据处理设备(100)包括:转换器(101),用于将所述查询转换成高级语言查询;优化器(103),用于基于所述存储库(107)的配置来优化所述高级语言查询以生成优化查询。此外,本发明涉及一种操作这种数据处理设备(100)的方法。
技术领域
本发明涉及一种数据处理设备和操作数据处理设备的方法。特别地,本发明涉及一种数据处理设备,用于从诸如数据库等数据存储库中提取数据以响应数据查询。
背景技术
自关系数据库的早期阶段以来,为提升数据库的性能,尝试将数据查询编译为本地代码而不是解析该查询。这些尝试的主要目的是减少解析开销,从而提高查询的执行速度。通常,使用一些基于模式的代码生成器将查询编译为本地机器代码。通常,该方法非常复杂,不可移植,并且不允许对生成的本地代码进行进一步的优化,例如通用子表达式消除、代码融合和循环展开等。
几年前,已经开发了一个名为Volcano的可扩展和并行查询评估系统。它为数据库系统设计、查询优化的启发式方法、并行查询执行和资源分配提供了研究环境。Volcano系统使用两个元运算符,即选择方案元运算符,其支持动态查询评估方案,即直到运行时仍允许延迟选定的优化决策,例如,对于具有自由变量的嵌入式查询;以及交换元运算符,其支持分区数据集上的运算符内部并行以及垂直和水平运算符间并行,在进程之内的需求驱动数据流和进程之间的数据驱动数据流之间进行转换。
随着智能编译器生成具有可接受性能的机器代码,许多高级编程语言开发得越来越多,这带来了几次尝试,即将查询执行方案转换为这种高级编程语言,而不是本地代码。其中一项尝试称为LegoBase,它是一种以高级编程语言Scala编写的内存查询执行引擎,并且通过生成编程来实现抽象概念。LegoBase中的数据查询用Scala语言编写,然后转换成专门的Scala或C代码。这样,查询引擎结构本身可以适应于特定的查询。例如,根据TPC-H标准对LegoBase进行了评估,其明显优于大多数商用内存数据库系统以及现有的查询编译器。此外,只需几百行高级语言代码编程改进这些性能,而无需其他查询编译器所需的复杂低级语言代码编程。
尽管上述尝试已经改进了性能,但仍然需要进一步改进,特别是针对从数据库中提取数据的数据查询的执行性能方面。
因此,需要一种改进的数据处理设备和操作这种数据处理设备的改进方法,特别是用于从诸如数据库等数据存储库中提取数据以响应数据查询的数据处理设备。
发明内容
本发明的目的是提供一种改进的数据处理设备和操作这种数据处理设备的改进方法,特别是用于从诸如数据库等数据存储库中提取数据以响应数据查询的数据处理设备。
上述和其它目的通过独立权利要求的主题来实现。根据所述独立权利要求、描述以及附图,其他实施形式是显而易见的。
第一方面,提供了一种数据处理设备,用于从存储库或存储器中提取数据以响应数据查询。所述数据处理设备包括转换器,用于将所述查询转换成高级编程语言查询;优化器,用于基于所述存储库的配置来优化所述高级编程语言查询以生成优化查询。所述存储库或所述存储器可以是数据库。或者,所述存储库或所述存储器可以是至少临时存储数据的其他任何设备,例如ROM、RAM和数据通信信道等。高级编程语言中的查询比低级编程语言中的同一查询具有更高层次的抽象定义。
通过考虑存储库的具体配置,即使得查询适应于存储库的特定配置,这样有利于获得查询,相较于使用传统的方法进行优化的查询,这种查询优化得更好。这具有极大的优越性,尤其是对提供许多不同模型的组织数据(例如分库、列式存储、垂直和水平分布和复制等)的数据库。因此,提供了一种改进的数据处理设备,特别是用于从诸如数据库等数据存储库中提取数据以响应数据查询的数据处理设备。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201580083383.6/2.html,转载请声明来源钻瓜专利网。