注重体验与质量的电子书资源下载网站
分类于: 职场办公 人工智能
简介
数据仓库工具箱(第3版): 维度建模权威指南 豆 7.9分
资源最后更新于 2020-08-19 16:09:47
作者:Ralph Kimball
译者:王念滨
出版社:清华大学出版社
出版日期:2015-01
ISBN:9787302385530
文件格式: pdf
标签: 数据仓库 数据仓库建模 大数据 BI 数据库 计算机 数据挖掘 数据分析
简介· · · · · ·
随着The Data Warehouse Toolkit(1996)第1版的出版发行,Ralph Kimball为整个行业引入了维度建模技术。从此,维度建模成为一种被广泛接受的表达数据仓库和商业智能(DW/BI)系统中数据的方法。该经典书籍被认为是维度建模技术、模式和最佳实践的权威资源。
这本《数据仓库工具箱(第3版)——维度建模权威指南》汇集了到目前为止最全面的维度建模技术。本书采用新的思路和最佳实践对上一版本进行了全面修订,给出了设计维度模型的全面指南,既适合数据仓库新手,也适合经验丰富的专业人员。
《数据仓库工具箱(第3版)——维度建模权威指南》涉及的所有技术都基于作者实际从事DW/BI的设计经验,通过实际案例加以描述。
主要内容 ◆ 实用设计技术——有关维度和事实表的基本和高级技术
◆ 14个案例研究,涉及零售业、电子商务、客户关系管理、采购...
目录
第1章 数据仓库、商业智能及维度建模初步 1
1.1 数据获取与数据分析的区别 1
1.2 数据仓库与商业智能的目标 2
1.3 维度建模简介 5
1.3.1 星型模式与OLAP多维数据库 6
1.3.2 用于度量的事实表 7
1.3.3 用于描述环境的维度表 9
1.3.4 星型模式中维度与事实的连接 11
1.4 Kimball的DW/BI架构 14
1.4.1 操作型源系统 14
1.4.2 获取-转换-加载(ETL)系统 14
1.4.3 用于支持商业智能决策的展现区 16
1.4.4 商业智能应用 17
1.4.5 以餐厅为例描述Kimball架构 17
1.5 其他DW/BI架构 19
1.5.1 独立数据集市架构 19
1.5.2 辐射状企业信息工厂Inmon架构 20
1.5.3 混合辐射状架构与Kimball架构 22
1.6 维度建模神话 22
1.6.1 神话1:维度模型仅包含汇总数据 23
1.6.2 神话2:维度模型是部门级而不是企业级的 23
1.6.3 神话3:维度模型是不可扩展的 23
1.6.4 神话4:维度模型仅用于预测 23
1.6.5 神话5:维度模型不能被集成 24
1.7 考虑使用维度模型的更多理由 24
1.8 本章小结 25
第2章 Kimball维度建模技术概述 27
2.1 基本概念 27
2.1.1 收集业务需求与数据实现 27
2.1.2 协作维度建模研讨 27
2.1.3 4步骤维度设计过程 28
2.1.4 业务过程 28
2.1.5 粒度 28
2.1.6 描述环境的维度 28
2.1.7 用于度量的事实 29
2.1.8 星型模式与OLAP多维数据库 29
2.1.9 方便地扩展到维度模型 29
2.2 事实表技术基础 29
2.2.1 事实表结构 29
2.2.2 可加、半可加、不可加事实 29
2.2.3 事实表中的空值 30
2.2.4 一致性事实 30
2.2.5 事务事实表 30
2.2.6 周期快照事实表 30
2.2.7 累积快照事实表 30
2.2.8 无事实的事实表 31
2.2.9 聚集事实表或OLAP多维数据库 31
2.2.10 合并事实表 31
2.3 维度表技术基础 31
2.3.1 维度表结构 31
2.3.2 维度代理键 32
2.3.3 自然键、持久键和超自然键 32
2.3.4 下钻 32
2.3.5 退化维度 32
2.3.6 非规范化扁平维度 32
2.3.7 多层次维度 32
2.3.8 文档属性的标识与指示器 33
2.3.9 维度表中的空值属性 33
2.3.10 日历日期维度 33
2.3.11 扮演角色的维度 33
2.3.12 杂项维度 33
2.3.13 雪花维度 33
2.3.14 支架维度 34
2.4 使用一致性维度集成 34
2.4.1 一致性维度 34
2.4.2 缩减维度 34
2.4.3 跨表钻取 34
2.4.4 价值链 34
2.4.5 企业数据仓库总线架构 35
2.4.6 企业数据仓库总线矩阵 35
2.4.7 总线矩阵实现细节 35
2.4.8 机会/利益相关方矩阵 35
2.5 处理缓慢变化维度属性 35
2.5.1 类型0:原样保留 35
2.5.2 类型1:重写 35
2.5.3 类型2:增加新行 36
2.5.4 类型3:增加新属性 36
2.5.5 类型4:增加微型维度 36
2.5.6 类型5:增加微型维度及类型1支架 36
2.5.7 类型6:增加类型1属性到类型2维度 36
2.5.8 类型7:双类型1和类型2维度 36
2.6 处理维度层次关系 37
2.6.1 固定深度位置的层次 37
2.6.2 轻微参差不齐/可变深度层次 37
2.6.3 具有层次桥接表的参差不齐/可变深度层次 37
2.6.4 具有路径字符属性的可变深度层次 37
2.7 高级事实表技术 37
2.7.1 事实表代理键 37
2.7.2 蜈蚣事实表 38
2.7.3 属性或事实的数字值 38
2.7.4 日志/持续时间事实 38
2.7.5 头/行事实表 38
2.7.6 分配的事实 38
2.7.7 利用分配建立利润与损失事实表 38
2.7.8 多种货币事实 39
2.7.9 多种度量事实单位 39
2.7.10 年-日事实 39
2.7.11 多遍SQL以避免事实表间的连接 39
2.7.12 针对事实表的时间跟踪 39
2.7.13 迟到的事实 40
2.8 高级维度技术 40
2.8.1 维度表连接 40
2.8.2 多值维度与桥接表 40
2.8.3 随时间变化的多值桥接表 40
2.8.4 标签的时间序列行为 40
2.8.5 行为研究分组 40
2.8.6 聚集事实作为维度属性 41
2.8.7 动态值范围 41
2.8.8 文本注释维度 41
2.8.9 多时区 41
2.8.10 度量类型维度 41
2.8.11 步骤维度 41
2.8.12 热交换维度 42
2.8.13 抽象通用维度 42
2.8.14 审计维度 42
2.8.15 最后产生的维度 42
2.9 特殊目的模式 42
2.9.1 异构产品的超类与子类模式 43
2.9.2 实时事实表 43
2.9.3 错误事件模式 43
第3章 零售业务 45
3.1 维度模型设计的4步过程 46
3.1.1 第1步:选择业务过程 46
3.1.2 第2步:声明粒度 46
3.1.3 第3步:确定维度 47
3.1.4 第4步:确定事实 47
3.2 零售业务案例研究 47
3.2.1 第1步:选择业务过程 49
3.2.2 第2步:声明粒度 49
3.2.3 第3步:确定维度 50
3.2.4 第4步:确定事实 50
3.3 维度表设计细节 53
3.3.1 日期维度 53
3.3.2 产品维度 56
3.3.3 商店维度 59
3.3.4 促销维度 60
3.3.5 其他零售业维度 62
3.3.6 事务号码的退化维度 63
3.4 实际的销售模式 63
3.5 零售模式的扩展能力 64
3.6 无事实的事实表 65
3.7 维度与事实表键 66
3.7.1 维度表代理键 66
3.7.2 维度中自然和持久的超自然键 68
3.7.3 退化维度的代理键 68
3.7.4 日期维度的智能键 68
3.7.5 事实表的代理键 69
3.8 抵制规范化的冲动 70
3.8.1 具有规范化维度的雪花模式 70
3.8.2 支架表 72
3.8.3 包含大量维度的蜈蚣事实表 72
3.9 本章小结 74
第4章 库存 75
4.1 价值链简介 75
4.2 库存模型 76
4.2.1 库存周期快照 76
4.2.2 库存事务 79
4.2.3 库存累积快照 80
4.3 事实表类型 81
4.3.1 事务事实表 81
4.3.2 周期快照事实表 82
4.3.3 累积快照事实表 82
4.3.4 辅助事实表类型 83
4.4 价值链集成 83
4.5 企业数据仓库总线架构 84
4.5.1 理解总线架构 84
4.5.2 企业数据仓库总线矩阵 85
4.6 一致性维度 89
4.6.1 多事实表钻取 89
4.6.2 相同的一致性维度 89
4.6.3 包含属性子集的缩减上卷一致性维度 90
4.6.4 包含行子集的缩减一致性维度 91
4.6.5 总线矩阵的缩减一致性维度 91
4.6.6 有限一致性 92
4.6.7 数据治理与管理的重要性 92
4.6.8 一致性维度与敏捷开发 94
4.7 一致性事实 94
4.8 本章小结 95
第5章 采购 97
5.1 采购案例研究 97
5.2 采购事务与总线矩阵 98
5.2.1 单一事务事实表与多事务事实表 98
5.2.2 辅助采购快照 101
5.3 缓慢变化维度(SCD)基础 101
5.3.1 类型0:保留原始值 102
5.3.2 类型1:重写 102
5.3.3 类型2:增加新行 104
5.3.4 类型3:增加新属性 106
5.3.5 类型4:增加微型维度 108
5.4 混合缓慢变化维度技术 110
5.4.1 类型5:微型维度与类型1支架表 110
5.4.2 类型6:将类型1属性增加到类型2维度 111
5.4.3 类型7:双重类型1与类型2维度 112
5.5 缓慢变化维度总结 113
5.6 本章小结 114
第6章 订单管理 115
6.1 订单管理总线矩阵 116
6.2 订单事务 116
6.2.1 事实表规范化 117
6.2.2 维度角色扮演 117
6.2.3 重新审视产品维度 119
6.2.4 客户维度 120
6.2.5 交易维度 122
6.2.6 针对订单号的退化维度 123
6.2.7 杂项维度 124
6.2.8 应该避免的表头/明细模式 125
6.2.9 多币种 126
6.2.10 不同粒度的事务事实 128
6.2.11 另外一种需要避免的表头/明细模式 129
6.3 发票事务 130
6.3.1 作为事实、维度或两者兼顾的服务级性能 131
6.3.2 利润与损益事实 131
6.3.3 审计维度 133
6.4 用于订单整个流水线的累积快照 134
6.4.1 延迟计算 136
6.4.2 多种度量单位 137
6.4.3 超越后视镜 138
6.5 本章小结 138
第7章 会计 139
7.1 会计案例研究与总线矩阵 139
7.2 总账数据 141
7.2.1 总账周期快照 141
7.2.2 会计科目表 141
7.2.3 结账 141
7.2.4 年度-日期事实 143
7.2.5 再次讨论多币种问题 143
7.2.6 总账日记账事务 143
7.2.7 多种财务会计日历 144
7.2.8 多级别层次下钻 145
7.2.9 财务报表 145
7.3 预算编制过程 146
7.4 维度属性层次 148
7.4.1 固定深度的位置层次 148
7.4.2 具有轻微不整齐的可变深度层次 149
7.4.3 不整齐可变深度层次 149
7.4.4 不规则层次中的共享所有权 152
7.4.5 随时间变化的不规则层次 153
7.4.6 修改不规则层次 153
7.4.7 其他不规则层次的建模方法 154
7.4.8 应用于不规则层次的桥接表方法的优点 156
7.5 合并事实表 156
7.6 OLAP角色及分析方案包 157
7.7 本章小结 158
第8章 客户关系管理 159
8.1 客户关系管理概述 160
8.2 客户维度属性 162
8.2.1 名字与地址的语法分析 162
8.2.2 国际姓名和地址的考虑 164
8.2.3 客户为中心的日期 165
8.2.4 作为维度属性的聚集事实 166
8.2.5 分段属性与记分 166
8.2.6 包含类型2维度变化的计算 169
8.2.7 低粒度属性集合的支架表 169
8.2.8 客户层次的考虑 170
8.3 应用于多值维度的桥接表 171
8.3.1 稀疏属性的桥接表 172
8.3.2 应用于客户多种联系方式的桥接表 173
8.4 复杂的客户行为 173
8.4.1 客户队列的行为研究分组 173
8.4.2 连续行为的步骤维度 175
8.4.3 时间范围事实表 176
8.4.4 使用满意度指标标记事实表 177
8.4.5 使用异常情景指标标记事实表 178
8.5 客户数据集成方法 178
8.5.1 建立单一客户维度的主数据管理 179
8.5.2 多客户维度的局部一致性 180
8.5.3 避免对应事实表的连接 180
8.6 低延迟的实现检查 181
8.7 本章小结 182
第9章 人力资源管理 183
9.1 雇员档案跟踪 183
9.1.1 精确的有效和失效时间范围 184
9.1.2 维度变化原因跟踪 185
9.1.3 作为类型2属性或事实事件的档案变化 185
9.2 雇员总数周期快照 186
9.3 人力资源过程的总线矩阵 187
9.4 分析解决方案软件包与数据模型 188
9.5 递归式雇员层次 189
9.5.1 针对嵌入式经理主键变化的跟踪 190
9.5.2 上钻或下钻管理层次 190
9.6 多值技能关键字属性 191
9.6.1 技能关键字桥接表 191
9.6.2 技能关键字文本字符串 192
9.7 调查问卷数据 193
9.8 本章小结 194
第10章 金融服务 195
10.1 银行案例研究与总线矩阵 195
10.2 分类维度以避免出现维度太少的情况 196
10.2.1 家庭维度 199
10.2.2 多值维度与权重因子 199
10.2.3 再谈微型维度 200
10.2.4 在桥接表中增加微型维度 202
10.2.5 动态值范围事实 202
10.3 异构产品的超类和子类模式 203
10.4 热可交换维度 205
10.5 本章小结 205
第11章 电信 207
11.1 电信业案例研究与总线矩阵 207
11.2 设计评审的一般性考虑 209
11.2.1 业务需求与实际可用资源的权衡 209
11.2.2 关注业务过程 209
11.2.3 粒度 210
11.2.4 统一的事实表粒度 210
11.2.5 维度的粒度和层次 210
11.2.6 日期维度 211
11.2.7 退化维度 211
11.2.8 代理键 212
11.2.9 维度解码与描述符 212
11.2.10 一致的承诺 212
11.3 设计评审指导 212
11.4 草案设计训练的讨论 214
11.5 重新建模已存在的数据结构 215
11.6 地理位置维度 216
11.7 本章小结 216
第12章 交通运输 217
12.1 航空案例研究与总线矩阵 217
12.1.1 多种事实表粒度 218
12.1.2 连接区段形成旅程 220
12.1.3 相关事实表 221
12.2 扩展至其他行业 221
12.2.1 货物托运人 221
12.2.2 旅行服务 222
12.3 相关维度合并 222
12.3.1 服务类别 223
12.3.2 始发地与目的地 224
12.4 更多有关日期和时间的考虑 225
12.4.1 用作支架表的特定国家日历 225
12.4.2 多时区的日期和时间 226
12.5 本地化概要 226
12.6 本章小结 227
第13章 教育 229
13.1 大学案例研究与总线矩阵 229
13.2 累积快照事实表 231
13.2.1 申请流水线 231
13.2.2 科研资助项目流水线 232
13.3 无事实的事实表 232
13.3.1 招生事件 233
13.3.2 课程注册 233
13.3.3 设施使用 235
13.3.4 学生考勤 236
13.4 更多关于教育分析的情况 237
13.5 本章小结 237
第14章 医疗卫生 239
14.1 医疗卫生案例研究与总线矩阵 239
14.2 报销单据与支付 241
14.2.1 日期维度角色扮演 243
14.2.2 多值诊断 243
14.2.3 收费的超类与子类 245
14.3 电子医疗记录 246
14.3.1 度量稀疏事实的类型维度 246
14.3.2 自由文本注释 247
14.3.3 图像 247
14.4 设施/设备的库存利用 247
14.5 处理可追溯的变化 248
14.6 本章小结 248
第15章 电子商务 249
15.1 点击流源数据 249
15.2 点击流维度模型 252
15.2.1 网页维度 252
15.2.2 事件维度 253
15.2.3 会话维度 254
15.2.4 推荐维度 254
15.2.5 点击流会话事实表 255
15.2.6 点击流网页事件事实表 256
15.2.7 步骤维度 258
15.2.8 聚集点击流事实表 258
15.2.9 Google Analytics(GA) 259
15.3 将点击流集成到Web零售商总线矩阵中 259
15.4 包含Web的跨渠道赢利能力 261
15.5 本章小结 263
第16章 保险业务 265
16.1 保险案例研究 266
16.1.1 保险业价值链 266
16.1.2 总线矩阵草案 267
16.2 保单事务 268
16.2.1 维度角色扮演 268
16.2.2 缓慢变化维度 268
16.2.3 针对大型和快速变化维度的微型维度 269
16.2.4 多值维度属性 269
16.2.5 作为事实或维度的数值属性 270
16.2.6 退化维度 270
16.2.7 低粒度维度表 270
16.2.8 审计维度 270
16.2.9 保单事务事实表 270
16.2.10 异构的超类和子类产品 271
16.2.11 辅助保险累积快照 272
16.3 保费周期快照 272
16.3.1 一致性维度 272
16.3.2 一致性事实 273
16.3.3 预付事实 273
16.3.4 再谈异构超类与子类 273
16.3.5 再谈多值维度 274
16.4 更多保险案例研究背景 274
16.4.1 更新保险行业总线矩阵 275
16.4.2 总线矩阵实现细节 275
16.5 索赔事务 277
16.6 索赔累积快照 278
16.6.1 复杂工作流的累积快照 279
16.6.2 时间范围累积快照 279
16.6.3 周期而不是累积快照 280
16.7 保单/索赔合并的周期快照 280
16.8 无事实的意外事件 280
16.9 需要避免的常见维度建模错误 281
16.9.1 错误10:在事实表中放入文本属性 281
16.9.2 错误9:限制使用冗长的描述符以节省空间 281
16.9.3 错误8:将层次划分为多个维度 282
16.9.4 错误7:忽略对维度变化进行跟踪的需要 282
16.9.5 错误6:使用更多的硬件解决所有的性能问题 282
16.9.6 错误5:使用操作型键连接维度和事实 282
16.9.7 错误4:忽视对事实粒度的声明并混淆事实粒度 282
16.9.8 错误3:使用报表设计维度模型 283
16.9.9 错误2:希望用户查询规范化的原子数据 283
16.9.10 错误1:违反事实和维度的一致性要求 283
16.10 本章小结 284
第17章 Kimball DW/BI生命周期概述 285
17.1 生命周期路标 286
17.2 生命周期初始活动 287
17.2.1 程序/项目规划与管理 287
17.2.2 业务需求定义 290
17.3 生命周期技术路径 294
17.3.1 技术架构设计 294
17.3.2 产品选择与安装 296
17.4 生命周期数据路径 297
17.4.1 维度建模 297
17.4.2 物理设计 297
17.4.3 ETL设计与开发 299
17.5 生命周期BI应用路径 299
17.5.1 BI应用规范 299
17.5.2 BI应用开发 299
17.6 生命周期总结活动 300
17.6.1 部署 300
17.6.2 维护和发展 300
17.7 应当避免的常见错误 301
17.8 本章小结 302
第18章 维度建模过程与任务 303
18.1 建模过程概述 303
18.2 组织工作 304
18.2.1 确定参与人,特别是业务代表们 304
18.2.2 业务需求评审 305
18.2.3 利用建模工具 305
18.2.4 利用数据分析工具 306
18.2.5 利用或建立命名规则 306
18.2.6 日历和设施的协调 306
18.3 维度模型设计 307
18.3.1 统一对高层气泡图的理解 307
18.3.2 开发详细的维度模型 308
18.3.3 模型评审与验证 311
18.3.4 形成设计文档 312
18.4 本章小结 312
第19章 ETL子系统与技术 313
19.1 需求综合 314
19.1.1 业务需求 314
19.1.2 合规性 314
19.1.3 数据质量 314
19.1.4 安全性 315
19.1.5 数据集成 315
19.1.6 数据延迟 316
19.1.7 归档与世系 316
19.1.8 BI发布接口 316
19.1.9 可用的技能 317
19.1.10 传统的许可证书 317
19.2 ETL的34个子系统 317
19.3 获取:将数据插入到数据仓库中 318
19.3.1 子系统1:数据分析 318
19.3.2 子系统2:变化数据获取系统 319
19.3.3 子系统3:获取系统 320
19.4 清洗与整合数据 321
19.4.1 提高数据质量文化与过程 322
19.4.2 子系统4:数据清洗系统 323
19.4.3 子系统5:错误事件模式 324
19.4.4 子系统6:审计维度装配器 325
19.4.5 子系统7:重复数据删除(deduplication)系统 326
19.4.6 子系统8:一致性系统 326
19.5 发布:准备展现 328
19.5.1 子系统9:缓慢变化维度管理器 328
19.5.2 子系统10:代理键产生器 332
19.5.3 子系统11:层次管理器 332
19.5.4 子系统12:特定维度管理器 333
19.5.5 子系统13:事实表建立器 335
19.5.6 子系统14:代理键流水线 336
19.5.7 子系统15:多值维度桥接表建立器 337
19.5.8 子系统16:迟到数据处理器 338
19.5.9 子系统17:维度管理器系统 339
19.5.10 子系统18:事实提供者系统 339
19.5.11 子系统19:聚集建立器 340
19.5.12 子系统20:OLAP多维数据库建立器 340
19.5.13 子系统21:数据传播管理器 340
19.6 管理ETL环境 341
19.6.1 子系统22:任务调度器 341
19.6.2 子系统23:备份系统 342
19.6.3 子系统24:恢复与重启系统 343
19.6.4 子系统25:版本控制系统 344
19.6.5 子系统26:版本迁移系统 345
19.6.6 子系统27:工作流监视器 345
19.6.7 子系统28:排序系统 346
19.6.8 子系统29:世系及依赖分析器 346
19.6.9 子系统30:问题提升系统 346
19.6.10 子系统31:并行/流水线系统 347
19.6.11 子系统32:安全系统 347
19.6.12 子系统33:合规性管理器 348
19.6.13 子系统34:元数据存储库管理器 350
19.7 本章小结 350
第20章 ETL系统设计与开发过程和任务 351
20.1 ETL过程概览 351
20.2 ETL开发规划 351
20.2.1 第1步:设计高层规划 352
20.2.2 第2步:选择ETL工具 352
20.2.3 第3步:开发默认策略 353
20.2.4 第4步:按照目标表钻取数据 354
20.2.5 开发ETL规范文档 355
20.3 开发一次性的历史加载过程 356
20.3.1 第5步:用历史数据填充维度表 356
20.3.2 第6步:完成事实表历史加载 360
20.4 开发增量式ETL过程 363
20.4.1 第7步:维度表增量处理过程 363
20.4.2 第8步:事实表增量处理过程 365
20.4.3 第9步:聚集表与OLAP加载 367
20.4.4 第10步:ETL系统操作与自动化 368
20.5 实时的影响 368
20.5.1 实时分类 369
20.5.2 实时结构权衡 370
20.5.3 展现服务器上的实时分区 371
20.6 本章小结 372
第21章 大数据分析 373
21.1 大数据概览 373
21.1.1 扩展的RDBMS结构 374
21.1.2 MapReduce/Hadoop结构 375
21.1.3 大数据结构比较 376
21.2 推荐的应用于大数据的最佳实践 376
21.2.1 面向大数据管理的最佳实践 376
21.2.2 面向大数据结构的最佳实践 377
21.2.3 应用于大数据的数据建模最佳实践 381
21.2.4 大数据的数据治理最佳实践 383
21.3 本章小结 384
1.1 数据获取与数据分析的区别 1
1.2 数据仓库与商业智能的目标 2
1.3 维度建模简介 5
1.3.1 星型模式与OLAP多维数据库 6
1.3.2 用于度量的事实表 7
1.3.3 用于描述环境的维度表 9
1.3.4 星型模式中维度与事实的连接 11
1.4 Kimball的DW/BI架构 14
1.4.1 操作型源系统 14
1.4.2 获取-转换-加载(ETL)系统 14
1.4.3 用于支持商业智能决策的展现区 16
1.4.4 商业智能应用 17
1.4.5 以餐厅为例描述Kimball架构 17
1.5 其他DW/BI架构 19
1.5.1 独立数据集市架构 19
1.5.2 辐射状企业信息工厂Inmon架构 20
1.5.3 混合辐射状架构与Kimball架构 22
1.6 维度建模神话 22
1.6.1 神话1:维度模型仅包含汇总数据 23
1.6.2 神话2:维度模型是部门级而不是企业级的 23
1.6.3 神话3:维度模型是不可扩展的 23
1.6.4 神话4:维度模型仅用于预测 23
1.6.5 神话5:维度模型不能被集成 24
1.7 考虑使用维度模型的更多理由 24
1.8 本章小结 25
第2章 Kimball维度建模技术概述 27
2.1 基本概念 27
2.1.1 收集业务需求与数据实现 27
2.1.2 协作维度建模研讨 27
2.1.3 4步骤维度设计过程 28
2.1.4 业务过程 28
2.1.5 粒度 28
2.1.6 描述环境的维度 28
2.1.7 用于度量的事实 29
2.1.8 星型模式与OLAP多维数据库 29
2.1.9 方便地扩展到维度模型 29
2.2 事实表技术基础 29
2.2.1 事实表结构 29
2.2.2 可加、半可加、不可加事实 29
2.2.3 事实表中的空值 30
2.2.4 一致性事实 30
2.2.5 事务事实表 30
2.2.6 周期快照事实表 30
2.2.7 累积快照事实表 30
2.2.8 无事实的事实表 31
2.2.9 聚集事实表或OLAP多维数据库 31
2.2.10 合并事实表 31
2.3 维度表技术基础 31
2.3.1 维度表结构 31
2.3.2 维度代理键 32
2.3.3 自然键、持久键和超自然键 32
2.3.4 下钻 32
2.3.5 退化维度 32
2.3.6 非规范化扁平维度 32
2.3.7 多层次维度 32
2.3.8 文档属性的标识与指示器 33
2.3.9 维度表中的空值属性 33
2.3.10 日历日期维度 33
2.3.11 扮演角色的维度 33
2.3.12 杂项维度 33
2.3.13 雪花维度 33
2.3.14 支架维度 34
2.4 使用一致性维度集成 34
2.4.1 一致性维度 34
2.4.2 缩减维度 34
2.4.3 跨表钻取 34
2.4.4 价值链 34
2.4.5 企业数据仓库总线架构 35
2.4.6 企业数据仓库总线矩阵 35
2.4.7 总线矩阵实现细节 35
2.4.8 机会/利益相关方矩阵 35
2.5 处理缓慢变化维度属性 35
2.5.1 类型0:原样保留 35
2.5.2 类型1:重写 35
2.5.3 类型2:增加新行 36
2.5.4 类型3:增加新属性 36
2.5.5 类型4:增加微型维度 36
2.5.6 类型5:增加微型维度及类型1支架 36
2.5.7 类型6:增加类型1属性到类型2维度 36
2.5.8 类型7:双类型1和类型2维度 36
2.6 处理维度层次关系 37
2.6.1 固定深度位置的层次 37
2.6.2 轻微参差不齐/可变深度层次 37
2.6.3 具有层次桥接表的参差不齐/可变深度层次 37
2.6.4 具有路径字符属性的可变深度层次 37
2.7 高级事实表技术 37
2.7.1 事实表代理键 37
2.7.2 蜈蚣事实表 38
2.7.3 属性或事实的数字值 38
2.7.4 日志/持续时间事实 38
2.7.5 头/行事实表 38
2.7.6 分配的事实 38
2.7.7 利用分配建立利润与损失事实表 38
2.7.8 多种货币事实 39
2.7.9 多种度量事实单位 39
2.7.10 年-日事实 39
2.7.11 多遍SQL以避免事实表间的连接 39
2.7.12 针对事实表的时间跟踪 39
2.7.13 迟到的事实 40
2.8 高级维度技术 40
2.8.1 维度表连接 40
2.8.2 多值维度与桥接表 40
2.8.3 随时间变化的多值桥接表 40
2.8.4 标签的时间序列行为 40
2.8.5 行为研究分组 40
2.8.6 聚集事实作为维度属性 41
2.8.7 动态值范围 41
2.8.8 文本注释维度 41
2.8.9 多时区 41
2.8.10 度量类型维度 41
2.8.11 步骤维度 41
2.8.12 热交换维度 42
2.8.13 抽象通用维度 42
2.8.14 审计维度 42
2.8.15 最后产生的维度 42
2.9 特殊目的模式 42
2.9.1 异构产品的超类与子类模式 43
2.9.2 实时事实表 43
2.9.3 错误事件模式 43
第3章 零售业务 45
3.1 维度模型设计的4步过程 46
3.1.1 第1步:选择业务过程 46
3.1.2 第2步:声明粒度 46
3.1.3 第3步:确定维度 47
3.1.4 第4步:确定事实 47
3.2 零售业务案例研究 47
3.2.1 第1步:选择业务过程 49
3.2.2 第2步:声明粒度 49
3.2.3 第3步:确定维度 50
3.2.4 第4步:确定事实 50
3.3 维度表设计细节 53
3.3.1 日期维度 53
3.3.2 产品维度 56
3.3.3 商店维度 59
3.3.4 促销维度 60
3.3.5 其他零售业维度 62
3.3.6 事务号码的退化维度 63
3.4 实际的销售模式 63
3.5 零售模式的扩展能力 64
3.6 无事实的事实表 65
3.7 维度与事实表键 66
3.7.1 维度表代理键 66
3.7.2 维度中自然和持久的超自然键 68
3.7.3 退化维度的代理键 68
3.7.4 日期维度的智能键 68
3.7.5 事实表的代理键 69
3.8 抵制规范化的冲动 70
3.8.1 具有规范化维度的雪花模式 70
3.8.2 支架表 72
3.8.3 包含大量维度的蜈蚣事实表 72
3.9 本章小结 74
第4章 库存 75
4.1 价值链简介 75
4.2 库存模型 76
4.2.1 库存周期快照 76
4.2.2 库存事务 79
4.2.3 库存累积快照 80
4.3 事实表类型 81
4.3.1 事务事实表 81
4.3.2 周期快照事实表 82
4.3.3 累积快照事实表 82
4.3.4 辅助事实表类型 83
4.4 价值链集成 83
4.5 企业数据仓库总线架构 84
4.5.1 理解总线架构 84
4.5.2 企业数据仓库总线矩阵 85
4.6 一致性维度 89
4.6.1 多事实表钻取 89
4.6.2 相同的一致性维度 89
4.6.3 包含属性子集的缩减上卷一致性维度 90
4.6.4 包含行子集的缩减一致性维度 91
4.6.5 总线矩阵的缩减一致性维度 91
4.6.6 有限一致性 92
4.6.7 数据治理与管理的重要性 92
4.6.8 一致性维度与敏捷开发 94
4.7 一致性事实 94
4.8 本章小结 95
第5章 采购 97
5.1 采购案例研究 97
5.2 采购事务与总线矩阵 98
5.2.1 单一事务事实表与多事务事实表 98
5.2.2 辅助采购快照 101
5.3 缓慢变化维度(SCD)基础 101
5.3.1 类型0:保留原始值 102
5.3.2 类型1:重写 102
5.3.3 类型2:增加新行 104
5.3.4 类型3:增加新属性 106
5.3.5 类型4:增加微型维度 108
5.4 混合缓慢变化维度技术 110
5.4.1 类型5:微型维度与类型1支架表 110
5.4.2 类型6:将类型1属性增加到类型2维度 111
5.4.3 类型7:双重类型1与类型2维度 112
5.5 缓慢变化维度总结 113
5.6 本章小结 114
第6章 订单管理 115
6.1 订单管理总线矩阵 116
6.2 订单事务 116
6.2.1 事实表规范化 117
6.2.2 维度角色扮演 117
6.2.3 重新审视产品维度 119
6.2.4 客户维度 120
6.2.5 交易维度 122
6.2.6 针对订单号的退化维度 123
6.2.7 杂项维度 124
6.2.8 应该避免的表头/明细模式 125
6.2.9 多币种 126
6.2.10 不同粒度的事务事实 128
6.2.11 另外一种需要避免的表头/明细模式 129
6.3 发票事务 130
6.3.1 作为事实、维度或两者兼顾的服务级性能 131
6.3.2 利润与损益事实 131
6.3.3 审计维度 133
6.4 用于订单整个流水线的累积快照 134
6.4.1 延迟计算 136
6.4.2 多种度量单位 137
6.4.3 超越后视镜 138
6.5 本章小结 138
第7章 会计 139
7.1 会计案例研究与总线矩阵 139
7.2 总账数据 141
7.2.1 总账周期快照 141
7.2.2 会计科目表 141
7.2.3 结账 141
7.2.4 年度-日期事实 143
7.2.5 再次讨论多币种问题 143
7.2.6 总账日记账事务 143
7.2.7 多种财务会计日历 144
7.2.8 多级别层次下钻 145
7.2.9 财务报表 145
7.3 预算编制过程 146
7.4 维度属性层次 148
7.4.1 固定深度的位置层次 148
7.4.2 具有轻微不整齐的可变深度层次 149
7.4.3 不整齐可变深度层次 149
7.4.4 不规则层次中的共享所有权 152
7.4.5 随时间变化的不规则层次 153
7.4.6 修改不规则层次 153
7.4.7 其他不规则层次的建模方法 154
7.4.8 应用于不规则层次的桥接表方法的优点 156
7.5 合并事实表 156
7.6 OLAP角色及分析方案包 157
7.7 本章小结 158
第8章 客户关系管理 159
8.1 客户关系管理概述 160
8.2 客户维度属性 162
8.2.1 名字与地址的语法分析 162
8.2.2 国际姓名和地址的考虑 164
8.2.3 客户为中心的日期 165
8.2.4 作为维度属性的聚集事实 166
8.2.5 分段属性与记分 166
8.2.6 包含类型2维度变化的计算 169
8.2.7 低粒度属性集合的支架表 169
8.2.8 客户层次的考虑 170
8.3 应用于多值维度的桥接表 171
8.3.1 稀疏属性的桥接表 172
8.3.2 应用于客户多种联系方式的桥接表 173
8.4 复杂的客户行为 173
8.4.1 客户队列的行为研究分组 173
8.4.2 连续行为的步骤维度 175
8.4.3 时间范围事实表 176
8.4.4 使用满意度指标标记事实表 177
8.4.5 使用异常情景指标标记事实表 178
8.5 客户数据集成方法 178
8.5.1 建立单一客户维度的主数据管理 179
8.5.2 多客户维度的局部一致性 180
8.5.3 避免对应事实表的连接 180
8.6 低延迟的实现检查 181
8.7 本章小结 182
第9章 人力资源管理 183
9.1 雇员档案跟踪 183
9.1.1 精确的有效和失效时间范围 184
9.1.2 维度变化原因跟踪 185
9.1.3 作为类型2属性或事实事件的档案变化 185
9.2 雇员总数周期快照 186
9.3 人力资源过程的总线矩阵 187
9.4 分析解决方案软件包与数据模型 188
9.5 递归式雇员层次 189
9.5.1 针对嵌入式经理主键变化的跟踪 190
9.5.2 上钻或下钻管理层次 190
9.6 多值技能关键字属性 191
9.6.1 技能关键字桥接表 191
9.6.2 技能关键字文本字符串 192
9.7 调查问卷数据 193
9.8 本章小结 194
第10章 金融服务 195
10.1 银行案例研究与总线矩阵 195
10.2 分类维度以避免出现维度太少的情况 196
10.2.1 家庭维度 199
10.2.2 多值维度与权重因子 199
10.2.3 再谈微型维度 200
10.2.4 在桥接表中增加微型维度 202
10.2.5 动态值范围事实 202
10.3 异构产品的超类和子类模式 203
10.4 热可交换维度 205
10.5 本章小结 205
第11章 电信 207
11.1 电信业案例研究与总线矩阵 207
11.2 设计评审的一般性考虑 209
11.2.1 业务需求与实际可用资源的权衡 209
11.2.2 关注业务过程 209
11.2.3 粒度 210
11.2.4 统一的事实表粒度 210
11.2.5 维度的粒度和层次 210
11.2.6 日期维度 211
11.2.7 退化维度 211
11.2.8 代理键 212
11.2.9 维度解码与描述符 212
11.2.10 一致的承诺 212
11.3 设计评审指导 212
11.4 草案设计训练的讨论 214
11.5 重新建模已存在的数据结构 215
11.6 地理位置维度 216
11.7 本章小结 216
第12章 交通运输 217
12.1 航空案例研究与总线矩阵 217
12.1.1 多种事实表粒度 218
12.1.2 连接区段形成旅程 220
12.1.3 相关事实表 221
12.2 扩展至其他行业 221
12.2.1 货物托运人 221
12.2.2 旅行服务 222
12.3 相关维度合并 222
12.3.1 服务类别 223
12.3.2 始发地与目的地 224
12.4 更多有关日期和时间的考虑 225
12.4.1 用作支架表的特定国家日历 225
12.4.2 多时区的日期和时间 226
12.5 本地化概要 226
12.6 本章小结 227
第13章 教育 229
13.1 大学案例研究与总线矩阵 229
13.2 累积快照事实表 231
13.2.1 申请流水线 231
13.2.2 科研资助项目流水线 232
13.3 无事实的事实表 232
13.3.1 招生事件 233
13.3.2 课程注册 233
13.3.3 设施使用 235
13.3.4 学生考勤 236
13.4 更多关于教育分析的情况 237
13.5 本章小结 237
第14章 医疗卫生 239
14.1 医疗卫生案例研究与总线矩阵 239
14.2 报销单据与支付 241
14.2.1 日期维度角色扮演 243
14.2.2 多值诊断 243
14.2.3 收费的超类与子类 245
14.3 电子医疗记录 246
14.3.1 度量稀疏事实的类型维度 246
14.3.2 自由文本注释 247
14.3.3 图像 247
14.4 设施/设备的库存利用 247
14.5 处理可追溯的变化 248
14.6 本章小结 248
第15章 电子商务 249
15.1 点击流源数据 249
15.2 点击流维度模型 252
15.2.1 网页维度 252
15.2.2 事件维度 253
15.2.3 会话维度 254
15.2.4 推荐维度 254
15.2.5 点击流会话事实表 255
15.2.6 点击流网页事件事实表 256
15.2.7 步骤维度 258
15.2.8 聚集点击流事实表 258
15.2.9 Google Analytics(GA) 259
15.3 将点击流集成到Web零售商总线矩阵中 259
15.4 包含Web的跨渠道赢利能力 261
15.5 本章小结 263
第16章 保险业务 265
16.1 保险案例研究 266
16.1.1 保险业价值链 266
16.1.2 总线矩阵草案 267
16.2 保单事务 268
16.2.1 维度角色扮演 268
16.2.2 缓慢变化维度 268
16.2.3 针对大型和快速变化维度的微型维度 269
16.2.4 多值维度属性 269
16.2.5 作为事实或维度的数值属性 270
16.2.6 退化维度 270
16.2.7 低粒度维度表 270
16.2.8 审计维度 270
16.2.9 保单事务事实表 270
16.2.10 异构的超类和子类产品 271
16.2.11 辅助保险累积快照 272
16.3 保费周期快照 272
16.3.1 一致性维度 272
16.3.2 一致性事实 273
16.3.3 预付事实 273
16.3.4 再谈异构超类与子类 273
16.3.5 再谈多值维度 274
16.4 更多保险案例研究背景 274
16.4.1 更新保险行业总线矩阵 275
16.4.2 总线矩阵实现细节 275
16.5 索赔事务 277
16.6 索赔累积快照 278
16.6.1 复杂工作流的累积快照 279
16.6.2 时间范围累积快照 279
16.6.3 周期而不是累积快照 280
16.7 保单/索赔合并的周期快照 280
16.8 无事实的意外事件 280
16.9 需要避免的常见维度建模错误 281
16.9.1 错误10:在事实表中放入文本属性 281
16.9.2 错误9:限制使用冗长的描述符以节省空间 281
16.9.3 错误8:将层次划分为多个维度 282
16.9.4 错误7:忽略对维度变化进行跟踪的需要 282
16.9.5 错误6:使用更多的硬件解决所有的性能问题 282
16.9.6 错误5:使用操作型键连接维度和事实 282
16.9.7 错误4:忽视对事实粒度的声明并混淆事实粒度 282
16.9.8 错误3:使用报表设计维度模型 283
16.9.9 错误2:希望用户查询规范化的原子数据 283
16.9.10 错误1:违反事实和维度的一致性要求 283
16.10 本章小结 284
第17章 Kimball DW/BI生命周期概述 285
17.1 生命周期路标 286
17.2 生命周期初始活动 287
17.2.1 程序/项目规划与管理 287
17.2.2 业务需求定义 290
17.3 生命周期技术路径 294
17.3.1 技术架构设计 294
17.3.2 产品选择与安装 296
17.4 生命周期数据路径 297
17.4.1 维度建模 297
17.4.2 物理设计 297
17.4.3 ETL设计与开发 299
17.5 生命周期BI应用路径 299
17.5.1 BI应用规范 299
17.5.2 BI应用开发 299
17.6 生命周期总结活动 300
17.6.1 部署 300
17.6.2 维护和发展 300
17.7 应当避免的常见错误 301
17.8 本章小结 302
第18章 维度建模过程与任务 303
18.1 建模过程概述 303
18.2 组织工作 304
18.2.1 确定参与人,特别是业务代表们 304
18.2.2 业务需求评审 305
18.2.3 利用建模工具 305
18.2.4 利用数据分析工具 306
18.2.5 利用或建立命名规则 306
18.2.6 日历和设施的协调 306
18.3 维度模型设计 307
18.3.1 统一对高层气泡图的理解 307
18.3.2 开发详细的维度模型 308
18.3.3 模型评审与验证 311
18.3.4 形成设计文档 312
18.4 本章小结 312
第19章 ETL子系统与技术 313
19.1 需求综合 314
19.1.1 业务需求 314
19.1.2 合规性 314
19.1.3 数据质量 314
19.1.4 安全性 315
19.1.5 数据集成 315
19.1.6 数据延迟 316
19.1.7 归档与世系 316
19.1.8 BI发布接口 316
19.1.9 可用的技能 317
19.1.10 传统的许可证书 317
19.2 ETL的34个子系统 317
19.3 获取:将数据插入到数据仓库中 318
19.3.1 子系统1:数据分析 318
19.3.2 子系统2:变化数据获取系统 319
19.3.3 子系统3:获取系统 320
19.4 清洗与整合数据 321
19.4.1 提高数据质量文化与过程 322
19.4.2 子系统4:数据清洗系统 323
19.4.3 子系统5:错误事件模式 324
19.4.4 子系统6:审计维度装配器 325
19.4.5 子系统7:重复数据删除(deduplication)系统 326
19.4.6 子系统8:一致性系统 326
19.5 发布:准备展现 328
19.5.1 子系统9:缓慢变化维度管理器 328
19.5.2 子系统10:代理键产生器 332
19.5.3 子系统11:层次管理器 332
19.5.4 子系统12:特定维度管理器 333
19.5.5 子系统13:事实表建立器 335
19.5.6 子系统14:代理键流水线 336
19.5.7 子系统15:多值维度桥接表建立器 337
19.5.8 子系统16:迟到数据处理器 338
19.5.9 子系统17:维度管理器系统 339
19.5.10 子系统18:事实提供者系统 339
19.5.11 子系统19:聚集建立器 340
19.5.12 子系统20:OLAP多维数据库建立器 340
19.5.13 子系统21:数据传播管理器 340
19.6 管理ETL环境 341
19.6.1 子系统22:任务调度器 341
19.6.2 子系统23:备份系统 342
19.6.3 子系统24:恢复与重启系统 343
19.6.4 子系统25:版本控制系统 344
19.6.5 子系统26:版本迁移系统 345
19.6.6 子系统27:工作流监视器 345
19.6.7 子系统28:排序系统 346
19.6.8 子系统29:世系及依赖分析器 346
19.6.9 子系统30:问题提升系统 346
19.6.10 子系统31:并行/流水线系统 347
19.6.11 子系统32:安全系统 347
19.6.12 子系统33:合规性管理器 348
19.6.13 子系统34:元数据存储库管理器 350
19.7 本章小结 350
第20章 ETL系统设计与开发过程和任务 351
20.1 ETL过程概览 351
20.2 ETL开发规划 351
20.2.1 第1步:设计高层规划 352
20.2.2 第2步:选择ETL工具 352
20.2.3 第3步:开发默认策略 353
20.2.4 第4步:按照目标表钻取数据 354
20.2.5 开发ETL规范文档 355
20.3 开发一次性的历史加载过程 356
20.3.1 第5步:用历史数据填充维度表 356
20.3.2 第6步:完成事实表历史加载 360
20.4 开发增量式ETL过程 363
20.4.1 第7步:维度表增量处理过程 363
20.4.2 第8步:事实表增量处理过程 365
20.4.3 第9步:聚集表与OLAP加载 367
20.4.4 第10步:ETL系统操作与自动化 368
20.5 实时的影响 368
20.5.1 实时分类 369
20.5.2 实时结构权衡 370
20.5.3 展现服务器上的实时分区 371
20.6 本章小结 372
第21章 大数据分析 373
21.1 大数据概览 373
21.1.1 扩展的RDBMS结构 374
21.1.2 MapReduce/Hadoop结构 375
21.1.3 大数据结构比较 376
21.2 推荐的应用于大数据的最佳实践 376
21.2.1 面向大数据管理的最佳实践 376
21.2.2 面向大数据结构的最佳实践 377
21.2.3 应用于大数据的数据建模最佳实践 381
21.2.4 大数据的数据治理最佳实践 383
21.3 本章小结 384