文档介绍:华中科技大学
硕士学位论文
达梦数据库物化视图的设计与实现
姓名:宁亮
申请学位级别:硕士
专业:计算机软件与理论
指导教师:周英飚
20070411
摘要
物化视图是一种将代价大、重复次数多的查询预先计算出来并用于回答用户查
询的优化手段,在分析型应用环境中能够非常有效地提升数据库系统的响应速度。
为了满足联机分析处理(Online Analytical Processing, OLAP)、数据挖掘等分析性应用
环境的要求,达梦(Da Meng, DM)数据库管理系统需要支持物化视图功能。要实现对
物化视图的支持,必须解决好视图维护和利用物化视图对用户查询进行优化这两个
关键问题,并提供一个适合达梦数据库管理系统的实现方案。
针对分析性应用环境下物化视图引用的关系的变化量小的特点,采用增量的方
式对物化视图进行维护比重新执行一次视图内容的效率要高很多。为了在达梦数据
库管理系统中实现物化视图的增量维护,并保证增量维护机制的正确性,为 SPJ 查
询中的选择、投影、连接操作引出了 8 条的等价增量推导规则。为了实现对分组聚
集操作的维护,引入了两个专用附加操作符来更新由插入和删除操作所带来的聚集
结果的变化。利用关系代数理论对所给的增量维护机制的正确性进行了证明。
为了利用物化视图优化用户查询,首先利用系统中定义的物化视图生成所有与
原查询等价的重写查询,然后在所生成的等价查询中选择一条代价最小的查询作为
最终查询。查询重写的过程分为对关系乘积、选择条件、分组属性列表和输出部分
的重写 4 个阶段构成,为每个阶段定义了一个等价重写子过程,并对等价重写的正
确性进行了证明。
在实现的过程中,对达梦数据库管理系统的框架进行了扩充和修改。引入了物
化视图对象并添加了物化视图定义器用于执行与物化视图相关的 DDL(Data
Definition Language)语句,维护保存物化视图元数据的数据字典。添加了查询重写索
引管理模块,将系统中的物化视图的定义用一棵称为查询重写索引(Query Rewrite
Index, QTI)的多路搜索树组织起来,引入了利用物化视图进行查询重写的模块,对查
询重写索引进行遍历生成所有可能的等价查询,利用代价估算器对等价查询的执行
代价进行估算。修改了数据更新语句的查询计划,当对物化视图所依赖的关系中的
元组进行修改时,首先获取增量数据保存到增量辅助表中,然后依次对物化视图和
基表进行修改。
关键词:物化视图,增量维护,增量推导规则,辅助表,查询重写,查询重写索引
I
Abstract
Materialized view is an excellent query optimization method used in analytic
processing environment. Costly and frequently used queries can be stored as materialized
views to answer the future queries. To fulfill the requirements of analytic application
context, such as OLAP and data mining, materialized view must be supported by DM. To
achieve the support of materialized view, the maintenance of materialized view and how
to use materialized to improve query performance, these two key technology problems
must be solved properly. Moreover, how to provide an implementation framework
according to DM is also should be taken in mind.
Under analytic application environment, the modifications happened on base tables
are pared to the mass of records stored in the whole database. Maintain
materialized views incrementally can be much cheaper than