基于内存列式数据库的代价模型与查询优化
发布时间:2021-04-20 09:36
随着计算机科学和互联网的不断发展,需要处理的数据量不断增长,这对数据库的性能提出了越来越高的要求。同时,在传统的数据库同时对增删改查性能有较高要求的使用场景之外,主要强调查询和分析性能的使用场景日益增加。在强调查询性能的情况下,列式数据库技术收到了越来越多的关注。列式数据库现有的研究集中于存储模型和查询执行。而在查询优化方面,针对列数据库的研究较少。目前主要的列式数据库框架,如C-Store,VectorWise,MonetDB等,没有专门的代价模型或者只有基于行数的代价模型。同时,这些列式数据库中,没有进行查询优化或者只针对列数据库与行数据库共同的部分进行优化。而另一方面,行式数据库的查询优化领域有较多的成果。MySQL,PostgreSQL等传统数据库有较为完善的,采用固定优化流程,在一个查询计划上进行优化的查询优化器。同时,在海量数据分析领域,分布式行式数据库Greenplum和HAWQ采用了基于规则,代价模型和计划搜索的查询优化框架,并针对分布式场景,对任务调度进行优化。本文提出了一个针对分布式列式内存数据库的代价模型,该模型能够有效估计列式数据库中查询计划的执行代价,减少因代...
【文章来源】:电子科技大学四川省 211工程院校 985工程院校 教育部直属院校
【文章页数】:72 页
【学位级别】:硕士
【文章目录】:
摘要
abstract
第一章 绪论
1.1 研究背景及意义
1.2 国内外研究现状
1.3 本文的主要贡献与创新
1.4 本论文的结构安排
第二章 相关理论以及技术基础
2.1 列式数据库
2.2 执行计划的代价模型
2.3 查询优化器
2.4 本章小结
第三章 列式数据库代价模型与查询优化框架总体设计
3.1 列式数据库的代价模型
3.1.1 GetColumn算子
3.1.2 Join算子
3.1.3 Order算子
3.1.4 聚合操作
3.1.5 其他算子
3.2 查询优化框架设计目标
3.3 查询优化器框架
3.3.1 查询优化的整体流程
3.3.2 查询优化框架的总体架构
3.4 基础模块
3.4.1 基础模块职责
3.4.2 基础模块设计
3.5 探索模块
3.5.1 探索模块职责
3.5.2 探索模块设计
3.6 实现模块
3.6.1 实现模块职责
3.6.2 实现模块设计
3.7 优化模块
3.7.1 优化模块职责
3.7.2 优化模块设计
3.8 本章小结
第四章 查询优化器的详细设计与实现
4.1 基础模块详细设计与实现
4.1.1 查询计划
4.1.2 算子
4.1.3 计划池
4.1.3.1 向计划池中添加新的查询计划
4.1.3.2 重复查询计划的检测机制
4.2 探索模块详细设计与实现
4.2.1 探索阶段的整体流程
4.2.2 等价变换
4.2.3 探索阶段的变换规则
4.2.4 根据匹配模式从计划池提取匹配的计划
4.3 实现模块详细设计与实现
4.3.1 实现阶段的变换规则
4.4 优化模块详细设计与实现
4.4.1 物理算子
4.4.1.1 物理属性
4.4.1.2 排序属性
4.4.2 优化算法
4.5 任务调度
4.6 本章小结
第五章 测试与分析
5.1 测试环境
5.1.1 硬件环境
5.1.2 软件环境
5.1.3 测试环境部署
5.2 测试数据
5.3 测试方式与测试结果
5.3.1 优化框架的执行时间
5.3.2 优化框架的内存使用量
5.3.3 代价模型的代价误差
5.4 本章小结
第六章 总结与展望
致谢
参考文献
附录
本文编号:3149436
【文章来源】:电子科技大学四川省 211工程院校 985工程院校 教育部直属院校
【文章页数】:72 页
【学位级别】:硕士
【文章目录】:
摘要
abstract
第一章 绪论
1.1 研究背景及意义
1.2 国内外研究现状
1.3 本文的主要贡献与创新
1.4 本论文的结构安排
第二章 相关理论以及技术基础
2.1 列式数据库
2.2 执行计划的代价模型
2.3 查询优化器
2.4 本章小结
第三章 列式数据库代价模型与查询优化框架总体设计
3.1 列式数据库的代价模型
3.1.1 GetColumn算子
3.1.2 Join算子
3.1.3 Order算子
3.1.4 聚合操作
3.1.5 其他算子
3.2 查询优化框架设计目标
3.3 查询优化器框架
3.3.1 查询优化的整体流程
3.3.2 查询优化框架的总体架构
3.4 基础模块
3.4.1 基础模块职责
3.4.2 基础模块设计
3.5 探索模块
3.5.1 探索模块职责
3.5.2 探索模块设计
3.6 实现模块
3.6.1 实现模块职责
3.6.2 实现模块设计
3.7 优化模块
3.7.1 优化模块职责
3.7.2 优化模块设计
3.8 本章小结
第四章 查询优化器的详细设计与实现
4.1 基础模块详细设计与实现
4.1.1 查询计划
4.1.2 算子
4.1.3 计划池
4.1.3.1 向计划池中添加新的查询计划
4.1.3.2 重复查询计划的检测机制
4.2 探索模块详细设计与实现
4.2.1 探索阶段的整体流程
4.2.2 等价变换
4.2.3 探索阶段的变换规则
4.2.4 根据匹配模式从计划池提取匹配的计划
4.3 实现模块详细设计与实现
4.3.1 实现阶段的变换规则
4.4 优化模块详细设计与实现
4.4.1 物理算子
4.4.1.1 物理属性
4.4.1.2 排序属性
4.4.2 优化算法
4.5 任务调度
4.6 本章小结
第五章 测试与分析
5.1 测试环境
5.1.1 硬件环境
5.1.2 软件环境
5.1.3 测试环境部署
5.2 测试数据
5.3 测试方式与测试结果
5.3.1 优化框架的执行时间
5.3.2 优化框架的内存使用量
5.3.3 代价模型的代价误差
5.4 本章小结
第六章 总结与展望
致谢
参考文献
附录
本文编号:3149436
本文链接:https://www.wllwen.com/shoufeilunwen/xixikjs/3149436.html