一、数据仓库
数据仓库(Data W arehouse)的概念是由 W .H.Inmon 在 1992 年出版的《 建立数据仓库》Building the Data W arehouse)一书中提出的。数据仓库是以关系数据库、并行处理和分布式技术为基础的信息新技术。从目前的形势看,数据仓库技术已紧跟 Internet而上,成为信息社会中获得企业竞争优势的又一关键技术。
(一)数据仓库的兴起
1、数据仓库的定义
(1)W .H.Inmon 对数据仓库的定义数据仓库是面向主题的、集成的、稳定的、不同时间的数据集合,用于支持经营管理中的决策制定过程。
(2)SAS 软件研究所的观点数据仓库是一种管理技术,旨在通过通畅、合理、全面的信息管理,达到有效的决策支持。从数据仓库的定义可以看出,数据仓库是明确为决策支持服务的,而数据库是为事务处理服务。
2、从数据库到数据仓库由数据库发展到数据仓库的主要原因如下
(1)数据太多,信息贫乏(Data Rich,Information Poor)随着数据库技术的发展,企事业单位建立了大量的数据库,数据越来越多,而辅助决策信息却很贫乏,如何将大量的数据转化为辅助决策信息成了研究热点。
(2)异构环境数据的转换和共享由于各类数据库产品的增加,异构环境的数据也随之增加,如何实现这些异构环境数据的转换和共享也成了研究热点。
(3)利用数据进行事务处理转变为利用数据支持决策数据库用于事务处理,若要达到辅助决策,则需要更多的数据。例如,如何利用历史数据的分析来进行预测。对大量数据的综合得到宏观信息等均需要大量的数据。数据仓库概念提出后,在不到几年的时间内就得到了迅速的发展。数据仓库产品也不断出现并陆续进入市场。
3、DB 数据和 DW 数据区别
传统数据库用于事务处理,也叫操作型处理,是指对数据库联机进行日常操作,即对一个一组记录的查询和修改,主要是为企业特定的应用服务的。用户关心的是响应时间,数据的全性和完整性。数据仓库用于决策分析,也称分析型处理,它是建立决策支持系统( DSS)的础。例如,银行的用户有储蓄、贷款和信用卡,这些数据是存放在不同业务处彼此独立的数据中。现在,有了数据仓库,它把这些业务数据库集中起来,建立起对用户的整体分析,决定是继续对用户进行贷款或发信用卡。
(二)数据仓库的特点
从数据仓库的定义中可以看出数据仓库的特点如下。
1、数据仓库是面向主题的主题是数据归类的标准,每一个主题基本对应一个宏观的分析领域。例如,保险公司数据仓库的主题为:客户、政策、保险金和索赔等。基于应用的数据库组织则完全不同,它的数据只是为处理具体应用而组织在一起的。保险公司按应用组织的数据库有:汽车保险、生命保险、健康保险和伤亡保险等。
2、数据仓库是集成的数据进入数据仓库之前,必须经过加工与集成。对不同来源的数据进行数据结构统一和编码。统一原始数据中的所有矛盾之处,如字段的同名异义,异名同义,单位不统一,字长不一致等。总之,将原始数据结构做一个从面向应用到面向主题的大转变。
3、数据仓库是稳定的数据仓库中包括了大量的历史数据。数据经集成进入数据仓库后是极少或根本不更新的。
4、数据仓库是随时间增长的数据仓库内的数据时限为 5 ~ 10 年,故数据的键码包含时间项,需标明数据的历史时期,这有助于 DSS 进行时间趋势分析。而数据库只包含当前数据,即存储当前时间的正确的有效数据。
5、数据仓库中的数据量很大通常的数据仓库数据量为 10GB 级,相当于一般数据库 100MB 的 100 倍,大型数据仓库是个 TB(1000GB)级数据量。数据仓库中数据的比重为索引和综合数据占 2/3,原始数据占 1/3。6. 数据仓库软硬件要求较高:需要一个巨大的硬件平台;需要一个并行的数据库系统。
(三)数据集市
1、数据集市(Data Marts)的产生数据仓库的工作范围和成本常常是巨大的。信息技术部门必须对所有的用户并以全企业眼光对待任何一次决策分析,这就形成了代价很高的、时间较长的大项目。这样提供更紧密集成的、拥有完整图形接口并且价格吸引人的工具──数据集市,就应运生。目前,全世界对数据仓库总投资的一半以上集中在数据集市上。
2、数据集市概念数据集市(Data Marts)是一种更小、更集中的数据仓库,是为公司提供分析商业数据的一廉价途径。数据集市是指具有特定应用的数据仓库,主要针对某个具有战略意义的应用或者具体部级的应用,支持用户利用已有的数据获得重要的竞争优势或者找到进入新市场的具体解决案。
3、数据集市与数据仓库的关系数据集市不等于数据仓库,多个数据集市简单合并起来并不能成为数据仓库。主要由于下几点原因。
(1)各数据集市之间对详细数据和历史数据的存储存在大量冗余。
(2)同一个问题在不同的数据集市的查询结果可能不一致,甚至相互矛盾。(3)各数据集市之间以及与源数据库系统之间难以管理。
4、数据集市的特性
(1)规模很小;
(2)特定的应用;
(3)面向部门;
(4)由业务部门定义、设计和开发;
(5)由业务部门管理和维护;
(6)快速实现;
(7)购买较便宜;
(8)投资快速回收;
(9)工具集的紧密集成;
(10)更详细的、预先存在的数据仓库的摘要子集;
(11)可升级到完整的数据仓库。
二、数据挖掘
(一)数据挖掘的定义
数据挖掘就是从大量的、不完全的、模糊的、随机的实际应用数据中,提取隐含在其中的,人们事先不知道的,但又是潜在有用的信息和知识的过程。 可以把数据挖掘描述为“探测型的数据分析”,它的目标是从数据中找到感兴趣的模式,用这些模式来决定商业策略或者发现不正常的情况。数据挖掘工具在海量数据上应用了统计技术来查找这些模式。数据挖掘技术主要基于 AI、统计学、机器学习等技术,高级自动化地分析企业原来的数据,做出归纳性的推理,从中挖掘出潜在的模式,预测客户的行为,帮助企业的决策者调整市场策略,减少风险,做出正确判断和决策。
(二)分类
数据挖掘技术可以从多种角度进行分类。如果从数据库角度分类,可分为关系数据库的数据挖掘、面向对象数据库的挖掘、数据仓库数据挖掘等。如果从知识类别角度来分类,可分为关联分析、序列模式分析、分类分析和聚类分析等。下面以后一种分类方式简述数据挖掘技术。
1、关联分析
关联分析就是从一个给定的数据集中,去发现数据与数据之间的潜在关联。例如,在一个销售系统中,推测顾客在购买鞋子的同时,还会去买袜子,鞋子与袜子之间就建立了一种关联关系,这种关联关系是通过关联分析得到的,仅仅是一种推导,还需要专家加以确认,并给出合理的解释,才能成为决策依据。
2、序列模式分析
序列模式分析可用来标识随时间推移的顾客行为模式。例如,假如一个顾客买了鞋子,他在未来的一个星期内可能会购买袜子。这种推测需要有足够的事实数据加以证明。
3、分类分析
分类分析是找出数据集中各组对象的共同特征,从而将数据集中的数据根据其特征分到不同的组中。一般是先分析数据集中的数据,根据数据特征建立类模型,再用分类模型对未知类别的数据进行分类。分类模型常用树状结构表述。
4、聚类分析
将多个相似的数据对象组合到一起称作聚簇,聚簇分析是将数据集分割成若干个有意义的聚簇,聚簇与聚簇之间没有或很少有相似性。
(三)挖掘技术
数据挖掘利用了人工智能中的一些成熟的算法和技术,例如,人工神经网络、遗传算法、决策树、近邻算法、规则推理等。
人工神经网络:即仿照生理神经网络结构的非线性预测模型,通过学习进行模式识别。
决策树:即决策集的树状结构。
遗传算法:即采用遗传结合、遗传变异及自然选择等涉及方法的优化算法。近邻算法:将数据集合中每一个记录进行分类的方法。
规则推理:是从统计学角度对数据中的因果规则进行推理。
三、数据挖掘和数据仓库的发展
数据仓库和数据挖掘的结合数据仓库和数据挖掘都是从 20 世纪 90 年代中期发展起来的新技术,数据仓库由数据库演变而来,而数据挖掘则是从人工智能的机器学习演变而来。
1、从数据库发展到数据仓库
数据仓库和数据库都是存放大量数据的场所,它们都起到共享数据的作用。但数据库中的数据是用来支持管理业务中的事务处理工作,而数据仓库中的数据是用来支持决策分析的,由于两者的应用不同,他们在数据的存储方式以及存放的数据量上,有很大的差别。
(1)数据存储方式的不同
数据库的数据存储是按照管理业务中事物处理项目的要求而存放的。如银行中有储蓄、信用卡、贷款的不同事务处理项目,根据这些项目要求建立相应的数据库,有储蓄数据库、信用卡数据库以及贷款数据库。数据仓库的数据存储是按决策分析需求而存放的。这种需求是以决策主题为对象,典型的主题是客户。这样,在数据仓库中的客户数据需要从储蓄、信用卡和贷款等不同的数据库中,对同一客户的数据抽取并集成在一起,以便完成对该客户的分析,通过分析了解该客户的储蓄情况、信用卡使用情况以及贷款偿还情况后,可以辅助银行的决策者决定是否继续给该客户贷款。
(2)数据存储量的不同
数据库的数据存储量相对于数据仓库的数据存储量要小得多。以客户主题建立数据仓库的数据量是储蓄、信用卡和贷款 3 个数据库的数据量的总和。按一般的统计,数据仓库的数据量是数据库数据量的 100 倍。数据仓库的数据量比数据库的数据量大这么多是因为:
①数据仓库中的数据(近期基本数据)是数据库中数据按决策主题重新组织并集成而来;
②数据仓库中数据还需要保留大量的历史数据,用于预测分析;
③数据仓库为了给不同级别管理者提供各种决策分析的数据,需要对近期基本数据进行轻度综合和高度综合,这些综合数据在数据仓库中占据了不小的比重。近期基本数据、历史数据和综合数据三者的数据相加,使数据仓库的数据量远远大于数据库中的数据量。
(3)数据存储的结构不同
由于数据仓库的数据量远大于数据库的存储量,数据库的存储格式是二维平面形式,它不能适应于数据仓库。数据仓库的数据存储结构采用的是多维的超立方体结构形式,大多数数据仓库采用星型模型。
2、数据挖掘结合数据仓库发挥出新的作用
数据挖掘的兴起主要是针对数据库。随着数据仓库的兴起和发展,在数据仓库中挖掘知识已成为一种新的需求。数据仓库的最大应用在于扩展市场,制定营销策略,争取更多的客户。
数据仓库为用户提供的信息有如下几种:
① 近期基本数据的查询(单项查询或组合查询);
② 各类综合数据的查询;
③ 各类预测数据的查询。
(1)数据挖掘从数据仓库中挖掘的信息数据挖掘应用于数据仓库后,能挖掘出更深层次上的信息。如以下几点:哪些商品一起销售好(利用关联分析);偏爱某类商品的客户特征是什么(利用聚类分析);还有哪些客户具有上述特征(利用类比分析);哪些商业事务处理可能有欺诈性(利用神经网络);高价值客户的共同点是什么(利用分类分析)。典型的例子是通过数据挖掘对高价值客户以及可能离开的客户进行挖掘,得出它们的特征,这样就让公司做出决策,设法挽留这些高价值客户和争取可能离开的客户,从而提高公司的利润。
(2)数据仓库为数据挖掘提出了新要求
① 数据挖掘需要可扩展性数据挖掘对数据仓库的应用一般使用的数据是详细数据,而不使用综合数据,因为综合数据“平滑”了数据间的差别,从而无法发现单个数据项目之间的微妙相关性。数据仓库中的数据随着时间的推移,逐渐增长。这样,数据挖掘方法就应该具有可扩展性,能够处理递增的数据量。
② 数据挖掘方法需要能挖掘多维知识数据仓库中的数据模型是多维数据组织,它不同于数据库的二维数据组织。数据挖掘应用到数据仓库时需要能挖掘多维数据知识。例如,对数据库的关联分析只能得到同一个商品维中不同商品之间的关联关系。对数据仓库中的关联分析就应该能对多维数据寻找它们的关联关系,即除不同商品的关联外,还要找出商品与商店或时间等不同维之间的关联关系
四、联机分析处理
联机分析处理(On Line AnalyticalProcessing,OLAP)的概念最早是由关系数据库之父 EF.Codd 于 1993 年提出的。当时,Codd 认为随着企业数据量的急剧增加,联机事物处理( Onine Transaction Processing,OLTP)已经不能满足终端用户对数据库查询分析的需要,SQL 对大数据库进行的简单查询及报告已不能满足用户分析的需求,决策分析需要对关系数据库进行大量的计算才能得到结果,而且查询的结果并不能满足决策者所提出的问题。因此 Codd 提出了多维数据库和多维分析的概念,即 OLAP 的概念。在数据仓库系统中,联机分析处理是重要的数据分析工具。OLAP 的基本思想是企业的决策者应能灵活地操纵企业的数据,从多方面和多角度以多维的形式来观察企业的状态和了解企业的变化。
近十几年来,人们利用信息技术生产和搜集数据的能力大幅度提高,大量的数据库被用于商业管理、政府办公、科学研究和工程开发等等,并仍将持续发展下去。于是,一个新的挑战被提了出来:在这被称之为信息爆炸的时代,信息过量几乎成为人人需要面对的问题。如何才能不被信息的汪洋大海所淹没,从中及时发现有用的知识或者规律,提高信息利用率呢?要想使数据真正成为一种决策资源,只有充分利用它,为一个组织的业务决策和战略发展服务才行,否则大量的数据可能成为包袱,甚至成为垃圾。OLAP 是解决这类问题的最有力工具之一。OLAP 是被专门设计用于支持复杂的分析操作,侧重对分析人员和高层管理人员的决策支持,可以应分析人员的要求快速、灵活地进行大数据量的复杂查询处理,并且以一种直观易懂的形式将查询结果提供给决策制定人,以便他们准确掌握企业的经营状况,了解市场需求,制定正确方案,增加效益。OLAP 软件,以它先进的分析功能和以多维形式提供数据的能力,正作为一种支持企业关键商业决策的解决方案而迅速崛起。
(一)OLAP 的定义
在决策活动中,决策人员需要的数据往往不是单一指标或单一的值,他们希望能够从多个角度观察某个指标或者某个值,或者找出这些指标之间的关系。比如,决策者可能想知道“东北地区和西南地区今年一季度和去年一季度在销售总额上的对比情况,并且销售额按 10 万 ~50 万、50 万~ 100 万、以及 100 万以上分组”。上面的问题是比较有代表性的,决策所需数据总是与一些统计指标,如销售总额、观察角度(如销售区域、时间)和不同级别的统计有关,我们将这些观察数据的角度称之为维。可以说决策数据是多维数据,多维数据分析是决策分析的主要内容。但传统的关系数据库系统及其查询工具对于管理和应用这样复杂的数据显得力不从心。OLAP 是在 OLTP 的基础上发展起来的,OLTP 是以数据库为基础的,面对的是操作人员和低层管理人员,对基本数据进行查询和增、删、改等处理。而OLAP是以数据仓库为基础的数据分析处理。
它有两个特点:一是在线性(On Line),体现为对用户请求的快速响应和交互式操作,它的实现是由客户/服务器这种体系结构来完成的;二是多维分析(Multi-dimension Anal-ysis),这也是 OLAP 的核心所在。OLAP超越了一般查询和报表的功能,它是建立在一般事务操作之上的另外一种逻辑步骤,因此,它的决策支持能力更强。在多维数据环境中,OLAP 为终端用户提供了复杂的数据分析功能。通过 OLAP,高层管理人员能够通过浏览、分析数据去发现数据的变化趋势、特征以及一些潜在的信息,从而更好地帮助他们了解商业活动的变化。
目前,比较普遍接受的OLAP 的定义有两种。
1、OLAP理事会给出的定义OLAP 是一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。这些信息是从原始数据转换过来的,按照用户的理解,它反映了企业真实的方方面面。企业的用户对企业的观点自然是多维的。拿销售来说,不仅可从生产这方面看,还与地点、时间等有关,这就是为什么要求 OLAP 模型是多维的原因。这种多维用户视图通过一种更为直观的分析模型进行设计和分析。OLAP 的大部分策略都是将关系型的或普通的数据进行多维数据存储,以便于进行分析,从而达到联机分析处理的目的。这种多维数据库,也被看作超立方体,沿着各个维方向存储数据,它允许用户沿事物的轴线方便地分析数据。
2、OLAP简单定义近来,随着人们对 OLAP 理解的不断深入,有些学者提出了更为简要的定义,即联机分析处理是共享多维信息的快速分析( FastAnalysis ofShared MultidimensionalInformation)。它体现了以下 4 个特征。
(1)快速性(Fast):用户对 OLAP 的快速反应能力有很高的要求。系统应能在 5 秒内对用户的大部分分析要求做出反应,如果终端用户在 30 秒内没有得到系统的响应,则会失去分析主线索,影响分析的质量。
(2)可分析性(Analysis):OLAP 系统应能处理与应用有关的任何逻辑分析和统计分析。尽管系统需要一些事先的编程,但并不意味着系统事先已对所有的应用都定义好了。
(3)多维性(Multidimensional):多维性是 OLAP 的关键属性。系统必须提供对数据分析的多维视图和分析,包括对层次维和多重层次维的完全支持。
(4)信息性(Information):不论数据量有多大,也不管数据存储在何处,OLAP 系统应能及时获得信息,并且管理大容量的信息。用于实现 OLAP 的技术主要包括客户 /服务器体系结构、时间序列分析、面向对象、并行处理、数据存储优化以及多线索技术等。
(二)OLAP准则
1985年以来,关系数据库需求始终受到E.F.Codd提出的十二条规则的影响。1993年E.F.Codd 在《Providing OLAP to UserAnalysts》中又提出了有关 OLAP 的十二条准则,用来评价分析处理工具,这也是他继关系数据库和分布式数据库提出的两个“十二条准则”后提出的第三个“十二条准则”。由于这些规则最初是对客户研究的结果,所以业界对这个十二条准则褒贬不一。但其主要方面,如多维数据分析、客户/服务器结构、多用户支持及一致的报表性能等方面还是得到了大多数人的认可。E.F.Codd在文中系统地阐述了有关OLAP产品及其所依赖的数据分析模型的一系列概念及衡量标准,这对OLAP产品的辨别及后来发展方向的确立都产生了重要的作用。如今,这十二条规则也成为大家定义OLAP的主要依据,被认为是OLAP产品应该具备的特征。如今OLAP的概念已经在商业数据库领域得以广泛使用,Codd提出的OLAP十二条准则如下。
1、多维
概念视图从用户分析员的角度来看,用户通常按多维角度来看待企业,企业决策分析的目的不同,决定了分析和衡量企业的数据总是从不同的角度来进行的,所以企业数据空间本身就是多维的,因此OLAP的概念模型也应是多维的。用户可以简单、直接地操作这些多维数据模型。例如,用户可以对多维数据模型进行切片、切块、改变坐标或旋转模式中的联合(概括和聚集)数据路径。
2、透明性
透明性原则包括两层含义:首先,OLAP在体系结构中的位置对用户是透明的。OLAP 应处于一个真正的开放系统结构中,它可使分析工具嵌入用户所需的任何位置,而不会对宿主工具的使用产生副作用。同时必须保证OLAP的嵌入不会引入和增加任何复杂性。其次,OLAP的数据源对用户也是透明的。用户只需使用熟悉的查询工具进行查询,而不必关心输入OLAP工具的数据是来自于同质还是异质的数据源。
3、存取能力
OLAP系统不仅能进行开放的存取,而且还提供高效的存取策略。OLAP 用户分析员不仅能在公共概念视图的基础上对关系数据库中的数据进行分析,而且在公共分析模型的基础上还可以对关系数据库、非关系数据库和外部存储的数据进行分析。要实现这些功能,就要求OLAP能将自己的概念视图映射到异质的数据存储上,并可访问数据,还能进行所需的转换以便给出单一的、连贯的、一致的用户视图。另外必须说明的一点就是,物理数据来源于何种系统,这对用户来说应是透明的,只有工具才需了解它,进行处理的是OLAP工具而不是用户分析员。这是提供OLAP工具透明性准则的基础之一。OLAP系统应使系统只存取与指定分析有关的数据,避免多余的数据存取。
4、一致稳定的报表性能
报表操作不应随维数的增加而削弱,即当数据维数和数据的综合层次增加时,提供给最终分析员的报表能力和响应速度不应该有明显的降低,这对维护 OLAP产品的简易性至关重要。即便是用户数据模型改变时,关键数据的计算方法也无需更改。也就是说,OLAP系统的数据模型对企业的数据模型应该具有“鲁棒”性。
5、客户/服务器体系结构
OLAP是建立在客户 /服务器体系结构上的。OLAP工具的服务器构件应有足够的智能,以便各种客户只需做较少的工作,使用最少的集成程序就能与其组合起来。这要求它的多维数据库服务器能够被不同的应用和工具所访问,服务器端应以最小的代价完成同多种服务器之间的挂接任务,智能化服务器必须具有在不同的逻辑的和物理的数据库间映射并组合数据的能力,还应构造通用的、概念化的、逻辑的和物理的模式。从而保证透明性和建立统一的公共概念模式、逻辑模式和物理模式。客户端负责应用逻辑及用户界面。
6、 维的等同性
每一数据维在其结构和操作功能上必须等价。可能存在适用于所有维的逻辑结构,提供给某一维的任何功能也应提供给其他维,即系统可以将附加的操作能力授给所选维,但必须保证该操作能力可以授给任意的其他维,即要求维上的操作是公共的。该准则实际上是对维的基本结构和维上的操作的要求。
7、动态稀疏矩阵处理OLAP服务器的物理结构应完全适用于特定的分析模式,创建和加载此种模式是为了提供优化的稀疏矩阵处理。当存在稀疏矩阵时,OLAP 服务器应能推知数据是如何分布的,以及怎样存储才更有效。该准则包括两层含义:第一,对任意给定的稀疏矩阵,存在一个最优的物理视图,该视图能提供最大的存储效率和矩阵处理能力,稀疏度是数据分布的一个特征,不能适应数据集合的数据分布,将会导致快速、高效操作的失败。第二,OLAP工具的基本物理数据单元可配置给可能出现的维的子集。同时,还要提供动态可变的访问方法并包含多种存取机制,例如:直接计算地址、B树索引、导出算法、哈希算法或这些技术的最佳组合。访问速度不会因数据维的多少、数据集的大小而变化。如果分析要求较为单一和固定,那么确实有可能针对它建立起一个最优的、静态的、具有固定维数的物理模式。但实际上,分析需求的特点就是具有不确定性,所以建立静态模式是不现实的,因此OLAP工具必须使得模型的物理模式充分适应指定的维数,尤其是特定模型的数据分布。
8、多用户支持
OLAP工具应提供并发访问、数据完整性及安全性等功能。当多个用户要在同一分析模式上并行工作,或是在同一企业数据上建立不同的分析模型时,都需要这些功能的支持。实际上,OLAP工具必须支持多用户也是为了适合数据分析工作的特点。应该鼓励以工作组的形式来使用OLAP工具,这样多个用户可以交换各自的想法和分析结果。
9、非限定的跨维操作
在多维数据分析中,所有维的生成和处理都是平等的。OLAP工具应能处理维间的相关计算。如果计算时需要按语言定义各种规则,此种语言应允许计算和数据操作跨越任意数目的数据维,而不必限制数据单元间的任何关系,也不必考虑每一单元包含的通用数据属性数目。
10、直接数据操作
OLAP 操作直观易懂。如果要重定向联系路径,或在维或行间进行细剖操作,都应该通过直接操作分析模型单元来完成,而不需要使用菜单,也不需要跨越用户界面进行多次操作,即综合路径重定位、向上综合、向下钻取和其他操作都可以通过直观、方便的点、拉操作完成。在分析模型中定义的维应包含用户分析所需的所有信息,从而可以进行任意继承操作。
11、灵活的报表使用
OLAP服务器及其工具,用户可以按任何想要的方式来操作、分析、综合和查看数据,这些方式包括创建逻辑组或将行、列及单元按需要依次排放。报表机制也应提供此种灵活性,报表必须能从各种可能的方面显示出从数据模型中综合出的数据和信息,充分反映数据分析模型的多维特征,并可按用户需要的方式来显示它。
12、不受限制的维和聚类级别
OLAP 服务器应能在一通用分析模型中协调至少十五个维。每一通用维应能允许有任意个用户定义的聚集,而且用户分析员可以在任意给定的综合路径上建立任意多个聚集层次。
(三)OLAP与OLTP的关系
与比较现代的数据库存储数以十万计的数据,经常每天处理成千上万的事务,OLTP数据库在查找业务数据时是非常有效的,但在为决策者提供总结性数据时则显得力不从心,这就需要OLAP技术。OLAP是一项给数据分析人员以灵活、可用和及时的方式构造、处理和表示综合数据的技术。例如,问题“查看去年东北地区的销售数据,按省、季度和产品分类”。首先要从OLTP数据库中抽取数据,这需要大量的时间;然后,要用同样大量的时间用一个查询语句来检索 4 个季度每个月的销售数据。而OLAP技术可以在数秒中完成这样的问题。OLAP主要是关于如何理解聚集的大量不同的数据。与OLTP应用程序不同,OLAP包含许多具有复杂关系的数据项。OLAP的目的就是分析这些数据,寻找模式、趋势以及例外情况。
1、OLAP
OLAP 是决策人员和高层管理人员对数据仓库进行信息分析处理。OLAP 数据可能包含以地区、类型或渠道分类的销售数据。一个典型的 OLAP 查询可能要访问一个多年的销售数据库(其长度可能会达到几亿个字节),以便能找到在每一个地区的每一种产品的销售情况。当得到这些数据后,分析人员可能会进一步的细化查询,在以地区、产品分类的情况下查明每一个销售渠道的销售量,最后,分析人员可能会针对于每一个销售渠道进行年与年或者季度与季度的比较。其整个过程必须被联机执行,并要有快速的响应时间以便分析过程不受外界干扰。联机分析处理可以被刻画为具有下面特征的联机事务。
(1)可以存取大量的数据,比如,几年的销售数据,分析各个商业元素类型之间的关系,如销售,产品,地区,渠道。
(2)要包含聚集的数据,例如,销售量,预算金额以及消费金额。
(3)按层次对比不同时间周期的聚集数据,如以月,季度或者年。
(4)以不同的方式来表现数据,如以地区,或者每一地区内按不同销售渠道,不同产品等。
(5)要包含数据元素之间的复杂的计算,如在某一地区的每一销售渠道的期望利润与销售收入之间的分析。
(6)能够快速地响应用户的查询,以便用户的分析思考过程不受系统影响。OLAP 服务器允许用熟悉的工具方便地存取不同的数据源。快速响应时间是 OLAP 中的关键因素。它分批处理报表,应用程序中的信息必须快速可得,以便执行进一步的分析。为了使分析过程变得容易,OLAP 应用程序经常以诸如电子表格这样容易辨识的形式提交数据。
2、OLTP
OLTP是操作人员和低层管理人员利用计算机网络对数据库中的数据进行查询、增、删、改等操作,以完成事务处理工作。OLTP以快速事务响应和频繁的数据修改为特征,用户利用数据库可快速地处理具体业务。OLTP应用时有频繁的写操作,所以数据库要提供数据锁、事务日志等机制;OLTP应用要求多个查询并行,以便将每个查询的执行分布到一个处理器上。OLTP应用程序包含大量相对简单的事务。对这些事务通常只是需要获取或更新其中的一小部分数据(通常小于100字节),且这些表之间的关系通常是很简单的。OLTP的特点在于事务量大,但事务内容比较简单且重复率高。大量的数据操作主要涉及的是一些增、删、改操作,但操作的数据量不大且多为当前数据,一般仅涉及一张或几张表的少数记录,因此OLTP适于处理高度结构化的信息。与其相适应的是,在数据组织方面OLTP以应用为核心,是应用驱动的,数据模型采用实体———关系(E-R)模型。
3、OLAP与OLTP的对比
OLTP处理的数据是高度结构化的,涉及的事务比较简单,因此复杂的表关联不会严重影响性能。反之,决策支持系统的一个查询可能涉及数万条记录,这时复杂的连接操作会严重影响性能。在OLTP系统中,数据访问路径是已知的,至少是相对固定的,应用程序可以在事务中使用具体的数据结构如表、索引等。而决策支持系统使用的数据不仅有结构化数据,而且有非结构化数据,用户常常是在想要某种数据前才决定去分析该数据。因此数据仓库系统中一定要为用户设计出更为简明的数据分析模型,这样才能为决策支持提供更为透明的数据访问。OLAP是以数据仓库为基础的,其最终数据来源与OLTP一样均来自底层的数据库系统,但由于二者面对的用户不同,OLTP面对的是操作人员和低层管理人员,OLAP面对的是决策人员和高层管理人员,因而数据的特点与处理也明显不同。