首页> 中文学位 >列存储内存数据库SQL引擎的实现
【6h】

列存储内存数据库SQL引擎的实现

代理获取

目录

文摘

英文文摘

第一章 绪论

第一节 选题背景

第二节 内存型数据库概述

第三节 基于列存储数据库概述

第四节 问题的提出

第五节 论文结构安排

第二章 基于列存储数据库的结构概述

第一节 包含SQL引擎的数据库系统总体框架

第二节 数据库的代码组织结构

第三节 数据库服务的启动过程

2.3.1 服务器自启动过程

2.3.2 响应客户数据操作请求的执行框架

第四节 基于列存储的数据库底层存储结构

2.4.1 基于列存储的磁盘逻辑存储结构

2.4.2 BAT对关系型数据库表的描述

2.4.3 从底层存储角度看整个系统的架构

2.4.4 BAT的数据结构

2.4.5 BAT各部分的逻辑关系

2.4.6 BAT的缓存架构

第五节 列存储数据库的事务处理架构

第三章 SQL引擎的设计与实现

第一节 SQL引擎的架构

3.1.1 SQL引擎的总体架构

3.1.2 SQL引擎的代码结构

3.1.3 SQL引擎的整个工作流程

第二节 SQL引擎的语法解析层

3.2.1 bison简介

3.2.2 SQL引擎语法分析最终语法树的结构

3.2.3 整个symbol语法树的结构

3.2.4 SQL引擎中bison源文件的编写

3.2.5 SQL引擎语法分析总结

第三节 SQL引擎的语义解析层

3.3.1 SQL引擎语法分析总结

3.3.2 最终stmt语法树的结构

3.3.3 SQL查询语句生成最终结果的一个逻辑过程

3.3.4 SQL引擎语义分析层的总处理流程

3.3.5 原始stmt语义树的生成过程

3.3.6 stmt语义树的优化过程

第四节 SQL引擎的MAL语言生成层

3.4.1 MAL块的数据结构

3.4.2 stmt语义树到MAL语言的过程

3.4.3 MAL指令优化器

第四章 SQL引擎的性能测试

第一节 TPC-H测试简介

第二节 测试环境和方法

4.2.1 硬件环境

4.2.2 数据库环境

4.2.3 测试方法

第三节 测试结果

4.3.1 查询总时间对比

4.3.2 Power值对比

4.3.3 Throughput值对比

第五章 结束语

第一节 总结

第二节 展望

参考文献

个人简历

致谢

展开▼

摘要

随着信息技术的不断发展,各行业的信息呈现爆炸式增长,如何更加合理的组织、存储、利用海量的数据,成为了近些年数据库领域关注的焦点。随之出现了基于列的存储方式和内存数据库。将这些新的底层存储形式和OLAP(联机分析处理)结合,不仅改善了数据利用的方式,更使得数据库的查询性能得到了进一步的提高。
   而SQL语言是国际间最通用的数据操作语言,利用SQL语言最终用户可以与数据库底层的数据进行交互。因此,SQL引擎成为了任何一个数据库都必不可少的组成部分。由于本数据库系统采用了独特的列存储形式,其SQL引擎与传统的数据库有很大的区别。
   SQL引擎遵照系统总体架构同样采用了分层的结构,基于数据为列存储的形式对SQL语句进行特殊处理,在语法分析阶段使用了bison开源工具进行代码生成,其它阶段都使用了C语言进行编写。SQL引擎遵循SQL-92标准。
   本文首先介绍了整个列存储内存型数据库系统的底层结构,包括基本框架、BAT存储结构及事务处理逻辑,旨在说明SQL引擎所处的系统环境。之后对SQL引擎的设计与实现的过程进行了详细的阐述,包括整个SQL引擎的总体架构设计及各个层次结构的具体实现。整个的SQL引擎包含四个层次:语法分析、语义分析、中间语言的生成、C函数的映射。通过对这四个部分实现过程的详细描述,可以清晰的看到SQL语句的整个解析过程,了解到SQL词法的分析、语法树的结构和搭建、语义树的结构和生成过程、中间语言的编译和作用、各个SQL执行计划优化器的原理、语义树到C函数的映射过程。同时能深刻的体会到SQL引擎是对编译原理的基本知识在实际工程中的一种创造性的应用。
   通过本文末TPC-H的测试可以看到,整个SQL引擎与底层存储系统完美的结合到了一起。SQL引擎不但保证了SQL语句执行结果的正确性,而且充分发挥了列存储形式和内存数据库原有的优势,并且在引擎中对SQL执行计划的优化进一步提高了数据库的性能。和同类型的数据库系统相比较,本数据库系统在性能上有了一定的优势。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号