The present invention relates to a data processing device (100) for extracting data from a data repository (107) to respond to data queries. The data processing device (100) includes: a converter (101) for converting the query into a high-level language query; the optimizer (103) is used to optimize the advanced language query based on the configuration of the repository (107) to generate the optimized query. In addition, the invention relates to a method of operating such a data processing device (100).
【技术实现步骤摘要】
【国外来华专利技术】数据处理设备和操作数据处理设备的方法
本专利技术涉及一种数据处理设备和操作数据处理设备的方法。特别地,本专利技术涉及一种数据处理设备,用于从诸如数据库等数据存储库中提取数据以响应数据查询。
技术介绍
自关系数据库的早期阶段以来,为提升数据库的性能,尝试将数据查询编译为本地代码而不是解析该查询。这些尝试的主要目的是减少解析开销,从而提高查询的执行速度。通常,使用一些基于模式的代码生成器将查询编译为本地机器代码。通常,该方法非常复杂,不可移植,并且不允许对生成的本地代码进行进一步的优化,例如通用子表达式消除、代码融合和循环展开等。几年前,已经开发了一个名为Volcano的可扩展和并行查询评估系统。它为数据库系统设计、查询优化的启发式方法、并行查询执行和资源分配提供了研究环境。Volcano系统使用两个元运算符,即选择方案元运算符,其支持动态查询评估方案,即直到运行时仍允许延迟选定的优化决策,例如,对于具有自由变量的嵌入式查询;以及交换元运算符,其支持分区数据集上的运算符内部并行以及垂直和水平运算符间并行,在进程之内的需求驱动数据流和进程之间的数据驱动数据流之间进行转换。随着智能编译器生成具有可接受性能的机器代码,许多高级编程语言开发得越来越多,这带来了几次尝试,即将查询执行方案转换为这种高级编程语言,而不是本地代码。其中一项尝试称为LegoBase,它是一种以高级编程语言Scala编写的内存查询执行引擎,并且通过生成编程来实现抽象概念。LegoBase中的数据查询用Scala语言编写,然后转换成专门的Scala或C代码。这样,查询引擎结构本身可以适应于特定的查 ...
【技术保护点】
一种数据处理设备(100),用于从存储库(107)中提取数据以响应查询,其特征在于,包括:转换器(101),用于将所述查询转换成高级语言查询;优化器(103),用于基于所述存储库(107)的配置来优化所述高级语言查询以生成优化查询。
【技术特征摘要】
【国外来华专利技术】1.一种数据处理设备(100),用于从存储库(107)中提取数据以响应查询,其特征在于,包括:转换器(101),用于将所述查询转换成高级语言查询;优化器(103),用于基于所述存储库(107)的配置来优化所述高级语言查询以生成优化查询。2.根据权利要求1所述的数据处理设备(100),其特征在于,所述优化器(103)用于通过执行所述高级语言查询的同构专业化并基于所述存储库(107)的所述配置来优化所述高级语言查询。3.根据权利要求2所述的数据处理设备(100),其特征在于,所述优化器(103)用于通过执行作为所述高级语言查询的阶段评估的一部分的所述高级语言查询的同构专业化并基于所述存储库(107)的所述配置来优化所述高级语言查询。4.根据权利要求3所述的数据处理设备(100),其特征在于,所述优化器(103)用于通过所述高级语言查询的基于图形的中间表示来执行作为所述高级语言查询的阶段评估的一部分的所述高级语言查询的同构专业化。5.根据权利要求4所述的数据处理设备(100),其特征在于,所述优化器(103)还用于执行所述高级语言查询的基于图形的中间表示的进一步低级优化步骤,特别是通用子表达式消除、代码融合、循环展开、数据结构转换、积极内联、持续传播和/或不可达代码去除。6.根据权利要求5所述的数据处理设备(100),其特征在于,所述优化器(103)还用于在编译和代码生成框架的环境中执行所述高级语言查询的基于图形的中间表示的进一步低级优化步骤。7.根据前述权利要求中任一项所述的数据处理设备(100),其特征在于,所述优...
【专利技术属性】
技术研发人员:亚历山大·弗拉基米罗维奇·斯莱萨连科,康斯坦丁·亚历山德罗维奇·克尼日尼克,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。