数据仓库工具箱_读书笔记
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据仓库工具箱_读书笔记
《数据仓库工具箱—维度建模的完全指南》是数据仓库建模方面的经典著作,1996年第一版出版被认为是数据仓库方面具有里程碑意义的事件。作者kimballl 是数据仓库方面的权威,他将多年的数据仓库建模实战经验、技巧融入本书。他提出的许多维度建模概念被广泛应用于数据仓库的设计和开发中。2002年本书出版了第二版。
这是一部非常好的数据仓库建模的书,前后完整的读了三遍,受益匪浅。
以下笔记将本按四个部分组织:一、数据仓库体系结构和建模过程、技巧。二、维度表建模技术。三、事实表建模技术。四、行业建模经验。
一、数据仓库体系结构和建模过程、技巧
关键点:数据仓库体系结构、维度建模的四个步骤、数据仓库总线结构、一致性维度。
1、对于数据仓库来说,业务需求是第一位的。
2、数据仓库的目标:(1)、随心所欲的访问数据。直观、明显、简单、易用、切割、合并、下钻、上卷。(2)、一致的展现数据(相对于原来从多个系统中出来的报表不一致)。(3)、适应性、扩展性、可维护性。(4)、为领导决策提供支持。
3、数据仓库的组成。源数据-->数据准备区-->数据仓库(维度建模)-->数
-->展现。其中原系统到数据准备区属于ETL过程。数据仓库据聚集区(OLAP) 和数据聚集区本书称为数据展示。展现本书称为数据存取工具。
4、数据仓库应特别注意的几点特点:(1)、数据应该以维度的形式进行展示、存储和访问。(2)、数据仓库中必须包含详细的原子数据。(3)、必须采用共同的维度和事实表来建模。
5、数据仓库采用使用维度建模的好处:易理解、查询的高性能、修改的灵活性和可扩充性。
6、维度建模的扩展性。表现在三个方面:(1)、在现有的事实表中增加维度。
(2)、在事实表中增加事实。(3)、在维度表中增加属性。(第一章)
7、维度模型设计的四个步骤。(1)、选取业务(主题)。(2)、定于业务处理的粒度。(3)、选择维度。(4)、选择事实。
8、应优先为模型选择有原子性的信息,因为原子性的数据提供了最大限度的灵活性,可以接受任何可能形式的约束。(第二章)
9、数据仓库总线结构。实际上是一种增量建模方式,通过一致性维度来集成数据中心。数据总线矩阵:业务处理、公共维度。一级数据中心:衍生于单个基本源系统的数据中心,建议从一级数据中心开始建模,因为导致失败的主要风险是ETL。合并数据中心:合并多个位于不同源系统的一级数据中心。(第三章)
10、维度建模复查。考虑的问题:粒度,日期维度,退化维度,维度属性采用名称而不是编码,代理关键字,维度的多少。
11、维度建模常犯的错误:(1)、舍弃一致性维度和一致性事实表。(2)、事实表的粒度不采用原子型。(3)、基于报表来设计维度表。(4)、不使用代理关键字。
(5)、忽视维度的变化的需求。(6)、将体系与体系层次分解成多
个维度。(7)、在维度表中为节省空间而限制使用详细的描述属性。(8)、在事实表中放置用于约束与分组操作的文本属性。(第十五章)
12、数据仓库成功的五个前提:(1)、拥有精明、强干的业务用户。用户应该对数据仓库具有独特的见解,坚信数据仓库项目具有实现的价值。(2)、机构必须存在建立数据仓库坚实而有说服力的业务动机。(3)、数据仓库的可用性。(4)、业务用户与IT人员之间的沟通。(5)、业务分析人员的分析文化,是基于图形、数据还是直觉、传闻和一时冲动。(第十六章) 二、维度表建模技巧
关键点:退化维度、代理关键字、一致性维度、渐变维度、角色模仿、杂项维
度、微型维度、深度可变的层次建模方法、审计维度、多值维度解决办法、异构产
品解决办法。
1、维度表倾向于将行数做得相当少,而将列数做的特别大。数据仓库的能力
直接与维度表的属性的质量和深度成正比。
、维度的属性采用文字而不是编码。 2
3、维度表通常是不规范的,几乎总是用空间换取简明性和可访问性。(第一章)
4、日期维度,应包含星期、周末指示符、月末指示符、节假日指示符、重大
事件、财政时间等。
5、如果需要处理一天中不同时间,则增加一个时间维度。
6、一个维度包含多个体系(层次),每个层次包含若干级别。
7、退化维度。一方面可以通过退化维度对数据进行分组,另一方面可以使用
退化维度关联到源数据上,有利于ETL更新及排错。
8、一般情况维度个数应该控制在15个以内,唯独过多影响查询性能和磁盘空间。一些小维度可以进行组合,这取决于具体的业务。
9、代理关键字。使用代理关键字的优点:能实现渐变维度;获得性能上的优
势,节省事实表空间;可以记录没有操作源码的数据(ETL过程生成);处理关键字段
的修改、删除等。(第二章)
10、一致性维度。具有一致性的维度关键字,以致的属性名称,以致的属性定义,一致的属性值。一致性维度对于设计可以进行集成的数据中心来说,具有绝对
的决定性作用。(第三章)
11、渐变维度。渐变维度的处理办法。类型1:改写属性值;类型2:添加维度行;类型3:添加维度列。第二种类型最常用。
12、快变维度的处理办法:将这些迅速变化的属性分裂成一个或者多个单独的维度。(第四章)
13、维度的角色模仿。在同一个维度表上通过视图的形式建立多个维度。在实际运用中,很多OLAP工具都支持在同一个维度表上建多个维度,而并不需要建立视图。
14、实体之间存在固定的,不随时间变化的,强烈相关的关系时,显然应该将它们当作单一维度进行建模。
15、杂项维度。将标志与指标符从设计中剥离出来,将其封装成一个或者多个杂项维度。(第五章)
16、将聚集事实放入维度表的优缺点。优点:查询时可以对聚集属性进行约束。缺点:ETL过程变麻烦了。
17、雪花模型的使用场合:粒度悬殊,节省空间(属性众多)。
18、宽度变化的属性集的处理办法:拆分成两个维度。Oracle数据库不存在这个问题。
19、采用类型2的方式处理维度慢性变化时,应该注意避免计数过度。
20、深化不变的体系结构(层次、级别)。一个层次建立单独的字段。如果某一个级别没有值,就应该用较低级别的属性覆盖该值。
21、深度可变的体系结构。使用桥接标来解决。父到子的每一条路径都包含一行记录,到其自身长度为0的路径包含一行。实际上是把循环递归的过程通过表数据的形式实现。大量olap工具以提供了对小于64000个成员的中小尺寸维度中这些体系进行导航操作得更加强劲的内置功能支持。(第六章)
22、依照十五描述内容在每行加入生效和截止日期标记,可以将类型2渐变维度设计方案修改为允许自然的对维度在时间上进行非常精细的切割。