增强可扩展查询优化器以支持多种等价类型
在数据库管理系统不断发展的今天,对新数据类型和高级查询功能的支持需求日益增长。查询优化作为数据库领域的重要研究方向,已经活跃了二十多年。然而,当前的商业优化器在面对新的操作符、算法或转换规则时,往往难以扩展和修改。为了解决这个问题,研究人员开发了一些可扩展的查询优化器,如 Starburst、Volcano 和 OPT++。本文将重点介绍对 Volcano 优化器的增强,使其支持带有时间操作符的关系代数。
1. 背景与动机
数据库管理系统需要不断扩展以支持新的数据类型和复杂的查询需求。然而,现有的商业查询优化器在扩展性方面存在不足,难以适应新的操作符、算法和转换规则。因此,开发可扩展的查询优化器成为了研究的热点。
Volcano 是一个可扩展的查询优化器生成器,本文的研究旨在增强 Volcano,使其支持带有时间操作符(如时间连接和时间聚合)的关系代数。这种代数不仅包含新的操作符和成本公式,还提供了对查询结果顺序、重复项处理和时间合并的系统支持。
2. Volcano 优化器概述
Volcano 优化器生成器是一个用于生成可扩展查询优化器的软件程序。它的输入包括查询代数(操作符、物理操作符、转换规则和实现规则),输出是一个优化器,该优化器可以将给定代数中的查询转换为物理表达式,代表选定的查询评估计划。
2.1 查询优化的两个阶段
Volcano 优化器通过两个阶段对查询进行优化:
1. 搜索空间生成 :使用初始查询计划和转换规则生成所有可能的逻辑表达式,这些表达式被组织成等价类。
2.
超级会员免费看
订阅专栏 解锁全文
15

被折叠的 条评论
为什么被折叠?



