数据仓库、OLAP与数据挖掘关系概述
摘要:数据仓库、OLAP与数据挖掘是当今的技术热点,数据仓库是一种解决数据使用的高效技术,OLAP则将数据通过多维视角和多种层次向用户进行多方式的呈现,数据挖掘为之提供了更好的决策支持和服务,同时促进了数据仓库技术的发展,本文简单介绍了这三者的概念和应用。
关键词:数据仓库 OLAP 数据挖掘 一、数据仓库
数据仓库是一种资讯系统的资料储存理论,此理论强调利用某些特殊资料储存方式,让所包含的资料,特别有利于分析处理,以产生有价值的资讯并依此作决策。利用数据仓库方式所存放的资料,具有一但存入,便不随时间而更动的特性,同时存入的资料必定包含时间属性,通常一个数据仓库皆会含有大量的历史性资料,并利用特定分析方式,自其中发掘出特定资讯。 1.1 数据仓库的特征
(1)数据仓库的数据是面向主题的。主题是一个抽象的概念,是较高层次上企业信息系统中的数据综合、归类并进行分析利用的抽象。在逻辑意义上,它是对应企业中某一宏观分析领域所涉及的分析对象。面向主题的数据组织方式,就是在较高层次上对分析对象的数据的一个完整、一致的描述,能完整、统一地刻划各个分析对象所涉及的企业的各项数据,以及数据之间的联系。所谓较高层次是相对面向应用的数据组织方式而言的,是指按照主题进行数据组织的方式具有 更高的数据抽象级别。
(2)数据仓库的数据是集成的 。数据仓库的数据是从原有的分散的数据库数据抽取来的。数据仓库的每一个主题所对应的源数据在原有的各分散数据库中有许多重复和不一致的地方,且来源于不同的联机系统的数据都和不同的应用逻辑捆绑在一起;数据仓库中的综合数据不能从原有的数据库系统直接得到。因此在数据进入数据仓库之前,必然要经过统一与综合,这一步是数据仓库建设中最关键、最复杂的一步。
(3)数据仓库的数据是不可更新的。数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一般情况下并不进行修改操作。数据仓库的数据反映的是一段相当长的时间内历史数据的内容,是不同时点的数据库
快照的集合,以及基于这些快照进行统计、综合和重组的导出数据,而不是联机处理的数据。
(4)数据仓库的数据是随时间不断变化的。数据仓库的用户进行分析处理时是不进行数据更新操作的。但并不是说,在从数据集成输入数据仓库开始到最终被删除的整个数据生存周期中,所有的数据仓库数据都是永远不变的。 1.2 数据仓库的类型
数据仓库的类型根据数据仓库的数据类型和它们所解决的企业问题范围,一般可将数据仓库分为下列3种类型:企业数据仓库(EDW)、操作型数据库(ODS)和数据集市(Data Marts)。
(1)企业数据仓库为通用数据仓库,它既含有大量详细的数据,也含有大量累赘的或聚集的数据,这些数据具有不易改变性和面向历史性。此种数据仓库被采用进行涵盖多种企业领域上的战略或战术上的决策。
(2)操作型数据库既可以被用来针对工作数据做决策支持,又可用做将数据加载到数据仓库时的过度区域。与EDW相比,ODS是面向主题和面向综合的,易变的,仅含有目前的、详细的数据,不含有累计的、历史性的数据。
(3)数据集市是为了特定的应用目的或应用范围,从而数据仓库中独立出来的一部分数据,也可称为部门数据或主题数据。几组数据集市可以组成一个EDW。
二、OLAP技术
联机分析处理(On-Line Analytical Processing,简称OLAP),是一套以多维度方式分析数据,而能弹性地提供积存上钻(Roll-up)、下钻(Drill-down)、和透视分析(pivot)等操作,呈现集成性决策信息的方法,多用于决策支持系统、商务智能或数据仓库。其主要的功能,在于方便大规模数据分析及统计计算,对决策提供参考和支持。与之相区别的是联机交易处理(OLTP)。
OLAP需以大量历史数据为基础配合上时间点的差异并对多维度及汇整型的信息进行复杂的分析。OLAP需要用户有主观的信息需求定义,因此系统效率较佳。
在实际应用中用广义和狭义两种不同的理解。广义上的理解与字面意思相同,即针对于OLTP而言,泛指一切不对数据进行输入等事务性处理,而基于已
有数据进行分析的方法。但更多的情况下OLAP是被理解为其狭义上的含义,即与多维分析相关,基于立方体(CUBE)计算而进行的分析。 2.1 OLAP的多维分析特性
OLAP具有两个重要的特点:一是在线性,体现为对用户请求的快速响应和交互式操作;二是多维分析,也就是说,OLAP展现在用户面前的是一个多维视图,使用者可以对其进行各种多维分析操作。下面我们具体介绍OLAP的多维分析特性。
在实际的决策制定过程中,决策者需要的不是某一指标单一的值,而是希望从多个角度或者从不同的考察范围来观察某一指标或多个指标,通过分析对比,从而找出这些指标间隐藏的内在关系,并预测这些指标的发展趋势,即决策所需的数据总是和一些分析角度和分析指标有关。OLAP的主要工作就是将数据仓库中的数据转换到多维数据结构中,并且对上述多维数据结构执行有效且非常复杂的多维查询。
2.2 OLAP的多维分析操作
多维分析操作是指对以多维形式组织起来的数据采取切片、切块、旋转等各种分析操作,以求剖析数据、使最终用户能从多个角度、多个侧面去观察数据库中的数据、从而深入地了解包含在数据中的信息、内涵。多维分析的基本操作有:
(1)切片操作:是在给定的多维数据集的某一个维上选定一维成员,从而得到一个多维数据子集的动作。如果有(维1,维2,??,维i,??,维n,度量)多维数据集,对维i选定了某个维成员,那么(维1,维2,??,维i成员,??,维n,度量)就是多维数据集(维1,维2,??,维i,??,维n,度量)在维i上的一个切片。
(2)切块操作:在多维数据集的某一维上选定某一区间的维成员的操作称为切块,即限制多维数据集的某一维的取值区间。
(3)旋转是一种目视操作,它转动多维数据集的视角,提供数据的替代表示。旋转操作可以将多维数据集的不同维进行交换显示,从而使用户更加直观地观察数据集中不同维之间的关系。
(4)钻取分为向下钻取和向上钻取。下钻操作是由不太详细的高层次汇总数据分解为更详细的低层次数据。上钻是下钻的逆操作,它是通过一个维的概念
分层向上攀升,或者通过维归约,在多维数据集上进行聚集。
(5)在OLAP分析操作中,还有“钻过”(drill-across)和“钻透”(drill-through)等。“钻过”涉及多个事实表的查询;“钻透”操作使用关系SQL机制,钻到多维数据集的底层,到后端关系表。
(6)其它的OLAP操作还包括计算统计表中的最高或最低N项、平均值、移动平均值、增长率、各类百分比等。
三、数据挖掘
数据挖掘(Data mining),又译为资料探勘、数据挖掘、数据采矿。它是数据库知识发现(Knowledge-Discovery in Databases,缩写:KDD)中的一个步骤。数据挖掘一般是指从大量的数据中自动搜索隐藏于其中的有着特殊关系性(属于Association rule learning)的信息的过程。数据挖掘通常与计算机科学有关,并通过统计、在线分析处理、情报检索、机器学习、专家系统(依靠过去的经验法则)和模式识别等诸多方法来实现上述目标。 3.1 数据挖掘与传统数据分析的区别
数据挖掘与传统的数据分析(如查询、报表、联机应用分析)的本质区别是数据挖掘是在没有明确假设的前提下去挖掘信息、发现知识。数据挖掘所得到的信息应具有先未知,有效和可实用三个特征。先前未知的信息是指该信息是预先未曾预料到的,既数据挖掘是要发现那些不能靠直觉发现的信息或知识,甚至是违背直觉的信息或知识,挖掘出的信息越是出乎意料,就可能越有价值。在商业应用中最典型的例子就是一家连锁店通过数据挖掘发现了小孩尿布和啤酒之间有着惊人的联系。
尽管通常数据挖掘应用于数据分析,但是像人工智能一样,它也是一个具有丰富含义的词汇,可用于不同的领域。 它与KDD的关系是:KDD是从数据中辨别有效的、新颖的、潜在有用的、最终可理解的模式的过程;而数据挖掘是KDD通过特定的算法在可接受的计算效率限制内生成特定模式的一个步骤。 3.2 数据挖掘的分析方法
数据挖掘利用的技术越多,得出的结果精确性就越高。原因很简单,对于某一种技术不适用的问题,其它方法即可能奏效,这主要取决于问题的类型以及数据的类型和规模。数据挖掘方法有多种,其中比较典型的有关联分析、序列模式
分析、分类分析、聚类分析等。
(1)关联分析,即利用关联规则进行数据挖掘。在数据挖掘研究领域,对于关联分析的研究开展得比较深入,人们提出了多种关联规则的挖掘算法,如APRIORI、STEM、AIS、DHP等算法。关联分析的目的是挖掘隐藏在数据间的相互关系,它能发现数据库中形如“90%的顾客在一次购买活动中购买商品A的同时购买商品B”之类的知识。
(2)序列模式分析和关联分析相似,其目的也是为了挖掘数据之间的联系,但序列模式分析的侧重点在于分析数据间的前后序列关系。它能发现数据库中形如“在某一段时间内,顾客购买商品A,接着购买商品B,而后购买商品C,即序列A→B→C出现的频度较高”之类的知识,序列模式分析描述的问题是:在给定交易序列数据库中,每个序列是按照交易时间排列的一组交易集,挖掘序列函数作用在这个交易序列数据库上,返回该数据库中出现的高频序列。
(3)分类分析,设有一个数据库和一组具有不同特征的标记,该数据库中的每一个记录都赋予一个类别的标记,这样的数据库称为示例数据库或训练集。分类分析就是通过分析示例数据库中的数据,为每个类别做出准确的描述或建立分析模型或挖掘出分类规则,然后用这个分类规则对其它数据库中的记录进行分类。目前已有多种分类分析模型得到应用,其中几种典型模型是线性回归模型、决策树模型、基本规则模型和神经网络模型。
(4) 聚类分析与分类分析不同,聚类分析输入的是一组未分类记录,并且
这些记录应分成几类事先也不知道。聚类分析就是通过分析数据库中的记录数据,根据一定的分类规则,合理地划分记录集合,确定每个记录所在类别。它所采用的分类规则是由聚类分析工具决定的。聚类分析的方法很多,其中包括系统聚类法、分解法、加入法、动态聚类法、模糊聚类法、运筹方法等。采用不同的聚类方法,对于相同的记录集合可能有不同的划分结果。
四、 数据仓库、OLAP与数据挖掘的关系
数据仓库将来自于各种数据源的数据,根据不同的主题进行存储,并对原始数据进行抽取、转换和加载等一系列筛选和清理工作。OLAP则将数据通过多维视角和多种层次向用户进行多方式的呈现。数据挖掘则应用不同的算法,向用户揭示数据间的规律性,从而辅助商业决策。