OLTP报表和OLAP报表

 对一个应用软件系统,一般都会有不少查询、报表模块。所谓OLTP报表,就是在业务系统的数据库上,紧密集成在业务系统中的各种查询报表。由于OLTP数据模型千差万别,所以很难有简单的方法来描述数据的语义、规则。可以想象,在OLTP数据库上产生报表是一件非常头疼的事,要是每张表需要软件编写者硬编码实现,实在是痛苦万分。有需求就有市场!近年来,国内外冒出了不少报表软件用来在OLTP基础上生成报表,这样可大大提升报表模块的开发效率。由于没有统一的数据模式,这些报表软件都需要使用者根据具体数据库结构来定义报表,需要定义的内容大致有:报表版式、取数关系、公式运算等。


OLAP
数据本来就是面向分析的,并已经根据分析的需要把数据表分成了维表和事实表。并且必须符合一定数据模型的数据库结构,才能算是OLAP数据库。如MOLAP的立方体模型,ROLAP的星形模型、雪花模型等。由于无论谁建的OLAP数据苦都符合标准的数据模型,前端的数据分析展示工具软件就具备了可交换性,也就是一套数据用多个软件分析展示都可以,差别只是不同的软件性价比、展示能力不同。另外,由于OLAP符合统一的模型,使得直接用界面操作而非繁复的报表定义成为了可能。很多好的展示软件都支持即席报表,即允许用户通过界面操作直接生成报表。
可以看出,OLAP是基于数据仓库的,而数据仓库管理的数据一般为历史数据。从业务数据库抽取数据到数据仓库的过程,称为ETL过程。如果ETL执行的频度过高,可能会影响业务系统的数据库访问资源。所以一般ETL也是定期执行的,如每月、每周、每10天,少数时效性要求高的系统,则可能每天抽取一次。不管怎样,OLAP分析的触角无法伸到业务数据库中(OLTP),只能对抽取出来的数据进行分析挖掘。
在某些应用环境下,深入分析当前数据也非常重要,甚至需要把当前数据和历史数据进行对比分析。当然,业务软件中也具备报表能力,但一般业务软件的报表能力比较有限,无法满足领导决策的要求,所以企业在建设综合数据分析应用平台时,一定也要重视对OLTP数据的报表和分析需求。
为了减少报表分析对业务系统数据库资源的抢占,一般可采用避开业务高峰期来进行报表运算的策略;也可采用数据库复制技术,安排OLTP报表可在复制库的基础上来运算。

posted @ 2011-03-03 10:48  emmy  阅读(996)  评论(0编辑  收藏  举报