ITPub博客

首页 > Linux操作系统 > Linux操作系统 > DW数据仓库的一些概念

DW数据仓库的一些概念

原创 Linux操作系统 作者:arthurtangel 时间:2012-03-21 15:28:47 0 删除 编辑
Bill Inmon,数据仓库之父
Building the Data Warehouse《建立数据仓库》
数据仓库是在企业管理和决策中面向主题的、集成的、与时间相关的、不可修改的数据集合。
主张建立数据仓库时采用自上而下(DWDM)方式,以第3范式进行数据仓库模型设计。
建设数据仓库时需要较长的时间。

后推出新的BI架构CIF(Corporation information factory),把Kimball的数据集市包括了进来。

1、“Building the Data Warehouse ”(《建立数据仓库》)
2、“Corporation information factory”(《企业信息工厂》)
3、“Govment information factory”《政府信息工厂》
4、“The Data Model Resource Book: A Library of Logical Data and Data Warehouse Designs”(《数据仓库建模》)
5、“Managing the Data Warehouse”(《数据仓库管理》)
6、“Data Warehousing for E-Business”(《电子商务中的数据仓库技术》)

Ralph Kimball,维度建模方法论
The DataWarehouse Toolkit《数据仓库工具箱》
数据仓库仅仅是构成它的数据集市的联合,可以通过一系列维数相同的数据集市递增地构建数据仓库。
主张建立数据仓库时采用自下而上(DMDW)方式,力推数据集市建设,以维度建模方法论进行数据仓库模型设计。
建设数据仓库时较快。

数据仓库维度建模方法强调由业务出发,根据实际的数据分析需求,设计维度模型的事实表和维表,在整个数据仓库中建立统一一致的维度。
《维度建模完全指南》中讲述了四步法设计进行维度模型的设计:
1,选取业务处理
2,定义事实表的粒度
3,选定维度
4,确定事实

《维度建模完全指南》
《数据仓库生命周期工具箱(The Data Warehouse Lifecycle Toolkit)》
《数据仓库工具箱(The Data Warehouse Toolkit)》

数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策。

决策支持系统(decision support system ,简称dss):http://baike.baidu.com/view/8048.htm
是辅助决策者通过数据、模型和知识,以人机交互方式进行半结构化或非结构化决策的计算机应用系统。它是管理信息系统(mis)向更高一级发展而产生的先进信息管理系统。它为决策者提供分析问题、建立模型、模拟决策过程和方案的环境,调用各种信息资源和分析工具,帮助决策者提高决策水平和质量。


ods,操作数据存储(operational data storage),主要作用是源系统与DW之间的隔层,转移部分业务的明细查询。存放当前或接近当前的数据,可修改更新。
edw,企业数据仓库(enterprise data warehouse),保存历史数据,一般不可修改。ODS和DW的区别主要体现数据的可变性、当前性、稳定性、汇总度上。
dm,数据集市(data mart)
etl,多数据源的抽取,转换,加截(抽取:增量,全量,转换:垃级数据清理,数据类型一致等标准化、合法化工作,加载:truncate and insert,update and insert,append,keep history change拉链)
高内聚低耦合:http://baike.baidu.com/view/3082578.htm
高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。
内聚就是一个模块内各个元素彼此结合的紧密程度,高内聚就是一个模块内各个元素彼此结合的紧密程度高。
所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。
耦合:一个软件结构内不同模块之间互连程度的度量(耦合性也叫块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差,模块间耦合的高低取决于模块间接口的复杂性,调用的方式以及传递的信息。) 对于低耦合,粗浅的理解是:
  一个完整的系统,模块与模块之间,尽可能的使其独立存在。
  也就是说,让每个模块,尽可能的独立完成某个特定的子功能。
  模块与模块之间的接口,尽量的少而简单。
  如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。
  这样有利于修改和组合。[1]



ETL随笔(一,二,三,四),alidw.cn,ETL随笔(一)http://www.cnblogs.com/sanpoye/archive/2012/03/19/2405892.html

ETL模型设计:
http://www.alidw.com/?p=309

星型模型:星形模式通过使用一个包含主题的事实表和多个包含事实的非正规化描述的维度表来支持各种决策查询。星形模型可以采用关系型数据库结构,模型的核心是事实表,围绕事实表的是维度表。通过事实表将各种不同的维度表连接起来,各个维度表都连接到中央事实表。维度表中的对象通过事实表与另一维度表中的对象相关联这样就能建立各个维度表对象之间的联系。每一个维度表通过一个主键与事实表进行连接。

http://www.360doc.com/content/11/0221/20/3356862_94916326.shtml
星形模式是一种多维的数据关系,它由一个事实表(Fact Table)和一组维表(Dimension Table)组成。每个维表都有一个维作为主键,所有这些维的主键组合成事实表的主键。事实表的非主键属性称为事实(Fact),它们一般都是数值或其他可以进行计算的数据;而维大都是文字、时间等类型的数据,按这种方式组织好数据我们就可以按照不同的维(事实表主键的部分或全部)来对这些事实数据进行求和(summary)、求平均(average)、计数(count)、百分比(percent)的聚集计算,甚至可以做20~80分析。这样就可以从不同的角度数字来分析业务主题的情况。)
在多维分析的商业智能解决方案中,根据事实表和维度表的关系,又可将常见的模型分为星型模型和雪花型模型。在设计逻辑型数据的模型的时候,就应考虑数据是按照星型模型还是雪花型模型进行组织。
星型架构是一种非正规化的结构,多维数据集的每一个维度都直接与事实表相连接,不存在渐变维度,所以数据有一定的冗余,如在地域维度表中,存在国家 A 省 B 的城市 C 以及国家 A 省 B 的城市 D 两条记录,那么国家 A 和省 B 的信息分别存储了两次,即存在冗余。


雪花模型: 雪花模型是对星形模型的扩展,每一个维度都可以向外连接多个详细类别表。在这种模式中,维度表除了具有星形模型中维度表的功能外,还连接对事实表进行详细描述的详细类别表,详细类别表通过对事实表在有关维上的详细描述达到了缩小事实表和提高查询效率的目的。
雪花模型对星形模型的维度表进一步标准化,对星形模型中的维度表进行了规范化处理。雪花模型的维度表中存储了正规化的数据,这种结构通过把多个较小的标准化表(而不是星形模型中的大的非标准化表)联合在一起来改善查询性能。由于采取了标准化及维的低粒度,雪花模型提高了数据仓库应用的灵活性。
这些连接需要花费相当多的时间。一般来说,一个雪花形图表要比一个星形图表效率低。

http://www.360doc.com/content/11/0221/20/3356862_94916326.shtml
当有一个或多个维表没有直接连接到事实表上,而是通过其他维表连接到事实表上时,其图解就像多个雪花连接在一起,故称雪花模型。雪花模型是对星型模型的扩展。它对星型模型的维表进一步层次化,原有的各维表可能被扩展为小的事实表,形成一些局部的 " 层次 " 区域,这些被分解的表都连接到主维度表而不是事实表。如图 2-3,将地域维表又分解为国家,省份,城市等维表。它的优点是 : 通过最大限度地减少数据存储量以及联合较小的维表来改善查询性能。雪花型结构去除了数据冗余。


星型模型因为数据的冗余所以很多统计查询不需要做外部的连接,因此一般情况下效率比雪花型模型要高。星型结构不用考虑很多正规化的因素,设计与实现都比较简单。 雪花型模型由于去除了冗余,有些统计就需要通过表的联接才能产生,所以效率不一定有星型模型高。正规化也是一种比较复杂的过程,相应的数据库结构设计、数据的 ETL、以及后期的维护都要复杂一些。因此在冗余可以接受的前提下,实际运用中星型模型使用更多,也更有效率。




星座模式: 一个复杂的商业智能应用往往会在数据仓库中存放多个事实表,这时就会出现多个事实表共享某一个或多个维表的情况,这就是事实星座,也称为星系模式(galaxy schema)。

数据集市:数据集市面向企业中的某个部门(或某个主题)是从数据仓库中划分出来的,这种划分可以是逻辑上的,也可以是物理上的。
数据仓库中存放了企业的整体信息,而数据集市只存放了某个主题需要的信息,其目的是减少数据处理量,使信息的利用更加快捷和灵活。
数据仓库由于是企业范围的,能对多个相关的主题建模,所以在设计其数据构成时一般采用星系模式。


维度表:是多维数据集的结构性特性。它们是事实数据表中用来描述数据的分类的有组织层次结构(级别)。这些分类和级别分别描述了一些相似的成员集合,用户将基于这些成员集合进行分析。
度量值:在多维数据集中,度量值是一组值,这些值基于多维数据集的事实数据表中的一列,而且通常为数字。此外,度量值是所分析的多维数据集的中心值。

历史拉链表:历史拉链表表是针对数据仓库设计中表存储数据的方式而定义的,顾名思义,所谓拉链,就是记录历史。记录一个事物从开始,一直到当前状态的所有变化的信息。历史拉链表的更新策略,注意开始时间,结束时间的变化。

当前表:这种表不需要保存历史变化的轨迹,只需要保证表中的记录最全、当前状态最新就可以了。


宽表:所谓宽表就是,基于某个实体分析对象而建立的一个逻辑数据体系,由实体的维度、描述信息、以及基于这个实体一系列度量组成。它是一个逻辑的概念,在物理实现中不可能就针对一个实体对象建立一个大宽表。http://www.alidw.com/?p=1674


缓慢变化维:http://baike.baidu.com/view/4409615.htm,解决方法:http://www.docin.com/p-286735270.html
快速变化维:
渐变维度:指这个维的变化是多个关系的,一般是有层次关系的。非渐变维度则指该维度为一张关系表,层次关系也是在一张表体系。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11990065/viewspace-719182/,如需转载,请注明出处,否则将追究法律责任。

上一篇: oracle 参数
请登录后发表评论 登录
全部评论

注册时间:2011-05-01

  • 博文量
    81
  • 访问量
    216274