萨特和波伏娃的爱情:建立数据仓库的意义

来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 01:16:46
正文 字体大小:大

为什么要建立数据仓库?

(2010-06-01 15:32:03)转载 标签:

it

分类: 技术层 这是IT pub上一篇帖子引发出的问题,以前还真没去仔细思考这个问题:为什么要建立数据仓库,数据仓库和数据库的区别?因为理论上的优点说法都很多,但要真正很好地理解,能简洁地向客户阐述明白,让客户觉得建立数据仓库是一件值得做的事情,还是值得讨论一下这个问题。有如下一些朋友们说法(自己在批注处谈点个人的意见):
A……数据库是一个装数据(信息的原材料)的地方。数据仓库是一种系统,这种系统也是用数据库装东西。(这有点没说清楚:个人理解数据库和数据仓库当然都是装数据的地方,关键的区别是装的什么样的数据,数据库装的原始数据,没经过任何加工;而数据仓库是为了满足分析需要,对源数据进行了Transform过程,具体是怎样一个处理过程,可以从Bill Inmon的仓库定义四个特性进行理解。)数据仓库系统(用数据库装东西)与其他基础业务系统(例如财务系统、销售系统、人力资源系统等,也是用数据库装东西)的区别是:基础业务系统的特点是各管各的,例如财务系统生产了白菜,那么用一个数据库来装,人力资源系统生产了猪肉,再用一个数据库来装。我要做一道菜,需要分别到各个数据库去取,比较麻烦(现实的情况是大部分时候让种菜的农民伯伯送过来,但送过来的东西不一定是我想要的,而且不同的时候我想要不同的东西,经常会被农民伯伯骂,弄得双方都不开心)。另外一方面,各个数据库中放的是一些比较原始的东西,我要拿过来做菜,还需要经过很麻烦的清洗过程,一不小心里面可能就藏着一条大青虫。那么,数据仓库系统就是建立一个大的超市,将各地农民伯伯出产的东西收集过来,清洗干净,分门别类地放好。这样,你要哪种菜的时候,直接从超市里面拿就可以了。
B……早期一直不理解数据仓库是什么困惑得很。宏观一点讲,数据仓库就是堆放公司所有数据的地方,之所以把数据都堆在一起,是为了从中间找到有价值的东西。数据仓库更多的是一个概念,不要把数据仓库想成那些号称是数据仓库的软件产品们。(数据仓库的建立和数据挖掘都是一个过程,可以从数据仓库生命周期和OLTP系统生命周期的区别进行理解,数据挖掘过程CRISP-DM)数据仓库的物理上就是数据库。相对业务系统数据库叫OLTP数据库(用于业务处理),这种数据库叫OLAP数据库(用于业务分析,不知道有没有这种说法,个人觉得OLAP和数据库还是不能简单地称为OLAP数据库的;OLAP是针对特定问题的联机数据访问和数据分析而产生的一种技术,它满足DDS从多种角度对数据进行快速、一致、交互地分析,克服传统DDS交互能力差的弊病,使决策者能够对数据进行深入观察。OLAP服务器使用为用户预定义的多维数据视图对数据仓库的信息进行统计分析处理,为具有明确分析范围和分析要求的用户提供高性能的决策支持在线分析处理,只是基于DW上的一种多维分析方式,当然我也可以不用OLAP,直接做基于DW的DM)。数据仓库的概念是针对以下基本需求产生的:公司的业务系统很多,业务系统的历史数据不方便查询。不同的业务系统往往管理部门不同,地域不同。能不能将所有这些数据集中起来,再淘淘有没有有意义的业务规律。数据仓库数据库往往很大,因为公司所有的数据集中得越多,越能淘到有价值的发现。例如随便就100G以上。数据仓库的组成十分繁杂,既有业务系统的历史数据,又有人事、财务数据,还要自己建一些基础性的数据,例如,公共假期数据、地理信息、国家信息等等。数据仓库概念包含从业务生产系统采集数据的程序,这个程序还不能影响业务系统的运行。(属于所谓“ETL”过程)数据仓库包括业务系统长期的历史数据,例如5年,用来分析。(所谓“ODS”数据)数据仓库包括针对某相业务值(例如销售量)重新打上标签的业务流水数据。(所谓“事实表”、“维度表”)。数据仓库概念兴许还包含报表生成工具(所谓“BI”工具)。这些工具能够达到几年前所谓DSS(决策分析)的效果。数据仓库的客户历史资量的分析,也许又与CRM系统粘点边。总之,一点,一个公司想针对已有的历史业务数据,充分的利用它们,那么就上数据仓库项目。至于哪些吓唬人的大写字母的组合,只是达到这个目标的科学技术罢了。牢记住数据仓库的基本需求,不要被供应商吓着。
C……数据仓库可以说是决策支持系统(个人不同意这个观点,决策支持系统(DDS)是在管理信息系统的基础上发展起来的,在数据仓库、OLAP技术和数据挖掘工具出现以前,就已经有DSS了,但其在实际应用开发过程中暴露出许多问题,DW为克服传统DDS存在的问题提供了技术上的支持,基于DW上的DSS效果自然有很大提升),能帮助老板了解企业的整体全貌,看到数据仓库提供的经过整理统计归纳的数据后老板凭自己的管理经验可以发现企业的问题或困难或成功因素在哪一方面,然后可以不断的追溯数据,直到确定到最具体的细节上,这样能够不断提升老板或管理层的管理水平,不断改善企业的管理。我们知道的最好的一个例子就是美国某大型超市啤酒和尿布的故事。沃尔玛公司在美国的一位店面经理曾发现,每周,啤酒和尿布的销量都会有一次同比攀升,一时却搞不清是什么原因。后来,沃尔玛运用商业智能(Business Intelligence,简称BI)技术发现,购买这两种产品的顾客几乎都是25岁到35岁、家中有婴儿的男性,每次购买的时间均在周末。沃尔玛在对相关数据分析后得知,这些人习惯晚上边看球赛、边喝啤酒,边照顾孩子,为了图省事而使用一次性的尿布。得到这个结果后,沃尔玛决定把这两种商品摆放在一起,结果,这两种商品的销量都有了显著增加。数据库是数据仓库的基础。数据仓库实际上也是由数据库的很多表组成的(这句话明显不成立,数据仓库里表分为事实表和维表,这和数据库里的表还是有本质区别的,组织方式完全不一样,一个是面向主题,一个是面向业务的)。需要把存放大量操作性业务数据的数据库经过筛选、抽取、归纳、统计、转换到一个新的数据库中。然后再进行数据展现。老板关注的是数据展现的结果。
以下来说数据仓库支撑技术基础…………………………………………………………………………
数据仓库技术解决的问题     随着90年代后期Internet 的兴起与飞速发展,我们进入了一个新的时代,大量的信息和数据,迎面而来,用科学的方法去整理数据,从而从不同视角对企业经营各方面信息的精确分析、准确判断,比以往更为迫切,实施商业行为的有效性也比以往更受关注。     数据仓库技术是基于信息系统业务发展的需要,基于数据库系统技术发展而来,并逐步独立的一系列新的应用技术。使用这些技术建设的信息系统我们称为数据仓库系统。随着数据仓库技术应用的不断深入,近几年数据仓库技术得到长足的发展。典型的数据仓库系统,比如:经营分析系统,决策支持系统等等。也随着数据仓库系统带来的良好效果,各行各业的单位,已经能很好的接受“整合数据,从数据中找知识,运用数据知识、用数据说话”等新的关系到改良生产活动各环节、提高生产效率、发展生产力的理念。     数据仓库技术就是基于数学及统计学严谨逻辑思维的并达成“科学的判断、有效的行为”的一个工具。数据仓库技术也是一种达成“数据整合、知识管理”的有效手段。数据仓库是面向主题的、集成的、与时间相关的、不可修改的数据集合。这是数据仓库技术特征的定位。
数据仓库主流支撑技术     数据仓库系列技术,主要支撑技术有以下一些:数据库技术、ETL技术、OLAP技术、元数据管理技术、前台展现技术、报表技术、挖掘技术、仿真优化技术。这些支撑技术结合各行业业务后,可以生产各式各样的应用。当然这些技术中,重点突出了在数据仓库方面的特征,而忽略了计算机技术的一些特征。比如:OLAP技术,那么就需要计算机存储技术、压缩技术、分区技术、加解密技术、图形化技术等等,这里就不再单独列示。
    数据库技术是支撑数据仓库技术的最基础技术。有关系数据库、层次数据库、网络数据库等类型,目前呈现比较好的发展态势的对象关系数据库也是一种类型。最典型的是关系数据库的应用。在数据仓库实践中,关系数据库是实质的数据库存储工具,但针对不同的数据仓库方案,有的关系数据库是还提供了有关的数据仓库元素的查询函数或组件,在支撑数据仓库数据存储的基础上,还能支撑数据仓库的数据探查,比如:Teradata,但是,大部分数据库,以及在大部分数据仓库建设方案中,只是利用数据库作为数据存储的工具。这样,实质上数据仓库与数据库在技术表现看起来可能是一样的,但是,在系统存储模型上却有着本质的区别。数据库技术在存储模型建设方面强调数据模型的规范性和高效存储能力(少冗余),比如:关系模式符合第三范式。但是,数据仓库技术在存储模型建设方面强调数据查询的方便性和快速响应能力。那么,在数据仓库技术存储模型方面,基于数据库技术而发展的关系模式的理念已经被颠覆,取而代之是各种各样的数据仓库数据模型。如:星型模型,雪花模型等等。数据库表也将原来的关系模式改称为了事实表和维表,将原来数据库技术中并不关心的属性域及之间的关系,也分别取了自己的业务名称,如:维度,量度,层次,粒度等。 星形结构数据模型: ×××××雪花结构数据模型: ×××××两者区别:星型架构中,每个维度都有一个由一些部分组成的主键,该主键连接到事实数据表中由多个部分组成的主键的一个部分。在雪花模型中,一个或多个维表分解成多个表,每个表都有连接到主维度表而不是事实数据表的相关性维度表。     ETL技术是支撑数据仓库系统正常运转的基本技术。因为数据仓库系统是集成的、与时间相关的数据集合。随着时间的推移,各种新数据的进入,旧数据的转移等等工作,仓库建设前后,都没有间断过。要实现这些数据的自动更新运转,以及新业务数据、旧格式新的不同代码的数据进行较好的适应性自动更新运转,ETL技术是必不可少的技术之一。ETL是Extraction、Transformation、Loading数据抽取、转换、装载系统,该系统整合不同的数据源过来的数据,并对数据进行初步的规格化整理,清洗除杂。
    OLAP技术联机分析处理(OLAP)的概念最早是由关系数据库之父E.F.Codd于1993年提出的。当时,Codd认为联机事务处理(OLTP)已不能满足终端用户对数据库查询分析的需要,SQL对大数据库进行的简单查询也不能满足用户分析的需求。用户的决策分析需要对关系数据库进行大量计算才能得到结果,而查询的结果并不能满足决策者提出的需求。因此Codd提出了多维数据库和多维分析的概念,即OLAP。Codd提出OLAP的12条准则来描述OLAP系统。基于Codd的12条准则,各个软件开发厂家见仁见智,其中一个流派,认为可以沿用关系型数据库来存储多维数据,于是,基于稀疏矩阵表示方法的星型结构(star schema)就出现了。后来又演化出雪花结构。为了与多维数据库相区别,则把基于关系型数据库的OLAP称为Relational OLAP,简称ROLAP。代表产品有Informix Metacube、Microsoft SQL Server OLAP Services。Arbor Software严格遵照Codd的定义,自行建立了多维数据库,来存放联机分析系统数据,开创了多维数据存储的先河,后来的很多家公司纷纷采用多维数据存储。被人们称为Muiltdimension OLAP,简称MOLAP,代表产品有Hyperion(原Arbor Software) Essbase、Showcase Strategy等。相对于Server OLAP而言。部分分析工具厂家建议把部分数据下载到本地,为用户提供本地的多维分析。代表产品有Brio Designer,Business Object。这样也形成了另一种OLAP俗称Client OLAP。纵观整个OLAP以及BI的发展历史,从OLTP统计功能到特定模型查询开发到ROLAPàMOLAP和Client OLAP,这样一个产品的不断创新发展过程中,使OLAP技术不断成熟和得到市场的认可,也为BI应用提供了很好的技术保障,使得与传统的OLTP系统在市场中平分秋色。 基于Codd的12条准则具体是: 
准则1 OLAP模型必须提供多维概念视图; 准则2 透明性准则; 准则3 存取能力推测; 准则4 稳定的报表能力; 准则5 客户/服务器体系结构; 准则6 维的等同性准则; 准则7 动态的稀疏矩阵处理准则; 准则8 多用户支持能力准则; 准则9 非受限的跨维操作; 准则10 直观的数据操纵; 准则11 灵活的报表生成; 准则12 不受限的维与聚集层次。
    元数据管理技术:所谓元数据meta data是关于数据的数据,指在数据仓库建设过程中所产生的有关数据源定义,目标定义,转换规则等相关的关键数据。同时元数据还包含关于数据含义的商业信息,所有这些信息都应当妥善保存,并很好地管理。为数据仓库的发展和使用提供方便。元数管理中,能有效的优化数据仓库中的各种数据模型,乃至可以通过元数据管理实现一个各种数据仓库数据模型的生产平台。高效的建立数据模型,并同时高效的管理对无感情数据的描述数据,数据一致,描述一致,理解一致,使模型能不断改进和继承。
    前台展现技术:主要是具有对集成的数据模型(比如:仓库模型、多维CUBE等)具有数据探查、检索、灵活的图表、甚至影像多媒体的展现技术。前台展现技术主要的技术目的是将没有感情的、枯燥的结构化数据,用友好的方式、灵活的方式、可定义的方式展现出来,使不懂数据结构的人一眼就可以理解其中数据的含义和业务表现。目前已经进行很好实践该技术的产品,主流主要有:Cognos Powerplay,Bo,Brio等等。
    报表技术:该技术主要是将集成的数据模型(比如:仓库模型、多维CUBE等)里的数据,按照复杂的格式、指定行列统计项形成的特殊的报表。一般简单的报表可以使用前台展现技术实现,而复杂的报表则需要报表技术来满足要求。报表技术中,可以灵活的制定各种报表模版库和指标库,根据每个区块或单元格的需要引用指标,实现一系列复杂的符合要求的报表结果。目前主要的主流产品有:Cognos Report.net,Brio, Crystal Reports, Oracle Reports等等。
    挖掘技术:该技术能实现找出数据库中隐藏的信息,用模型来拟合数据,探索型数据分析(Exploratory data analysis),数据驱动型的发现(Data driven discovery),演绎型学习(Deductive learning)功能。运用一种或多种算法,对海量数据进行探索,试图发现未知的模式或关系,最终做出预测或总结规律。使用挖掘技术建立的数据模型我们称为挖掘模型。挖掘模型的精度是挖掘模型的生命。影响模型的精度的原因主要有以下一些方面的重要因素: (1)建模数据的数据质量以及应用模型的数据质量; (2)对不同数据的业务理解,并能有效的宽定预选模型变量因素; (3)模型的正确的模式使用和挖掘算法使用; (4)模型的正确参数使用和技巧使用。 目前主流的挖掘工具主要有:Data Miner for Java,DB2 Intelligent Miner,Analysis Services(Miner Engine),SAS Enterprise Miner,Clementine等等。
    仿真优化技术:仿真优化技术是利用一系列参数化的条件来模拟现实复杂环境中的人和物,根据各活动实体的内在复杂关系的相互作用,在试验室中就可以预知未来的一种技术方法。仿真技术是对现实场景的模拟,然后,利用模拟的模型,推演未来。影响仿真推演,取得最优化方案的主要因素有:对现实环境中各种因素及影响权重的充分考虑并得到技术表示;对各种因素之间复杂联系充分定义;数据充分且质量可靠;仿真及优化算法及参数运用得当。目前市面主要有的产品有:SIMUL 8,Matlab等等。