Microsoft . 技术之路...

—— 专注于微软技术, 分享是快乐的源泉......
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

数据仓库支撑技术基础

Posted on 2007-05-07 14:21  赣江源  阅读(352)  评论(0编辑  收藏  举报

数据仓库技术解决的问题
    随着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等等。