APP下载

在Oracle数据库中实现物化视图

2017-03-24李凡

卷宗 2016年11期
关键词:数据仓库物化视图

李凡

摘 要:在Oracle数据库中,查询优化是数据库设计的关键环节,它涉及到数据库软件的整体优劣,普通视图的查询时间长,系统开销大,采用物化视图势在必行,以下就物化视图的结构进行分析,通过比较,阐明物化视图在大数据环境下的重要性。

关键字:数据库;查询优化;物化视图

1 物化视图的定义

物化视图就是具有物理存储的特殊视图,占据物理空间。它是用于预先计算并保存表连接或聚集等耗时较多操作的结果,这样,在执行查询时,就可以避免进行这些耗时的操作,从而快速的得到结果。它需要和源表进行同步,不断刷新物化视图中的数据。

2 普通视图的局限

在Oracle 中使用普通视图时,如果这样的视图有多张表的JOIN或ORDER BY子句,而且表相当大,则会相当耗时,使用普通视图的查询效率很低,视图查询内部过程如图1所示。为了解决这个问题,Oracle提出了物化视图的概念,物化视图是具有物理存储的特殊视图,它占用存储空间,可以进行分区和创建索引等操作。

3 基于物化视图的查询

在Oracle 中用户如果创建了基于基表的物化视图,系统将自动计算且使用物化视图来完成查询,毕竟物化视图在某些情况下可以节约时间,减少系统开销,

我们把Oracle 中基于物化视图的查询称为查询重写。提高查询性能是物化视图的一大优点,Oracle優化器就是通过代价计算来选择物化视图,通过查询重写来完成用户查询。优化器自动判断一个物化视图是否满足用户的查询要求,以及是否可以提高查询性能,如果满足要求且可以提高查询性能,优化器就重写用户提交的查询,以使用物化视图,查询重写对用户而言是不可见的。

4 物化视图的同步

物化视图是基于基表创建的,所以当基表变化时,需要同步数据以更新物化视图中的数据,从而保持物化视图中的数据和基表中的数据一致性。Oracle提供了两种

物化视图的刷新方式,即ON COMMIT方式和ON DEMAND方式。使用ON COMMIT方式,当一个基表的变化提交时,则物化视图自动更新,完成与基表的同步。而使用ON DEMAND方式时,需要手动同步物化视图和基表数据,此时必须执行REFRESH过程来同步物化视图。

5 物化视图的创建

用户可以根据自己的需要来创建物化视图,以解决由于JOIN 和ORDERB BY子句带来的查询耗时问题。首先要创建物化视图的前提条件,就是用户必须具有创建物化视图的权限,然后是创建物化视图的日志,用户选择刷新类型为FAST的同步基表,使用FAST类型同步物化视图如图表2所示,所以要对这两个基表创建物化视图日志,最后是创建物化视图及删除相应的物化视图。

6 物化视图的使用环境

物化视图适用于数据仓库、分布式计算以及移动计算等环境。对于数据仓库需要的基表汇总,物化视图用户进行类似的计算来存储聚合后的数据。在分模式环境中可以通过物化视图实现不同节点间的数据同步,使得同样的数据分布在不同的物理空间,更好地响应用户的查询,减少中心数据库服务器的负担,物化视图在分布式环境中的应用如图3所示,对于移动计算环境,也是利用物化视图的优化查询功能来节约查询时间,同时移动客户端使用物化视图下载一个数据子集,也可以定期地从中央服务器获取新数据,在客户端修改后发到中央服务器。

7 结束语

物化视图极大地方便了用户对于数据的操作,不但增加了对表访问的安全性,而且减少了很多复杂的查询过程,引入物化视图,是基于Oracle新版本提出的理念,物化视图可以用于预先计算并保存表连接或聚集等耗时较多操作的结果,这样,在执行查询时,就可以避免进行这些耗时的操作,而从快速的得到结果。物化视图有很多方面和索引很相似:使用物化视图的目的是为了提高查询性能;物化视图对应用透明,增加和删除物化视图不会影响应用程序中SQL语句的正确性和有效性;物化视图需要占用存储空间;当基表发生变化时,物化视图也应当刷新。总之,物化视图是数据库技术的发展趋势。

参考文献

[1] 刘静涛,张明安. 基于Oracle物化视图的数据同步研究[J]. 软件,2015,2.

[2] 张辉,孙伟华. 基于Oracle数据库的查询优化研究[J].计算机技术,2015,8.

[3] 闵昭浩. 物化视图在Oracle 数据仓库中的研究[J]. 湖北大学学报,2015,10.

[4] 林树泽,孔浩.《Oracle DBA教程》[M]. 清华大学出版社,2012,4.

猜你喜欢

数据仓库物化视图
基于数据仓库的住房城乡建设信息系统整合研究
视图
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
分布式存储系统在液晶面板制造数据仓库中的设计
探析电力系统调度中数据仓库技术的应用
物的人化与人的物化——当代舞台美术的表演
基于数据仓库的数据分析探索与实践
档案:一种物化的文化形态
抛物化Navier-Stokes方程的降维仿真模型