数据仓库笔记
术语
- 数据仓库 Data Warehousse
- 数据集市 Data Mart
- 操作型数据存储 ODS, Operational Data Store
- 企业数据仓库 EDW, Enterprise Data Warehouse
- 集结区 Staging Area
- 展现区 Presentation Area
数据流阶段: 抽取, 清洗, 规格化, 提交
第一章 一切围绕需求
需求:
- 业务需求
- 合规需求
- 数据评估
- 数据集成
- 数据延迟
- 数据归档和数据线性化
- 最终用户提交界面
- 可用的技能
- 已有的许可证
架构: 工具 VS. 手工编码
- 工具优势
- 手工编码优势
- 使用已证实的技术(工具)
- 批处理 VS. 流式处理
- 水平方式 VS. 垂直方式的任务依赖
- 调度自动化
- 异常处理
- 质量控制
- 恢复与重启
- 元数据
- 安全性
后台-准备数据
前台-数据访问
数据仓库的任务
数据仓库是什么
数据仓库不是什么
第二章 ETL数据结构
是否集结数据
设计集结区
ETL系统中的数据结构
- 平面文件 tr wc
- XML数据集: pros and cons
- DTDs, XML Schemas 和 和 XSLT
- 关系表
- 独立的 DBMS 工作表
- 三范式实体/关系模型
- 非关系数据源
维度数据模型:从后台提交到前台的成果
- 事实表
- 维表
- 原子事实表和聚合事实表
- 代理键映射表
规划和设计标准
===========
数据流
第三章 抽取
第 1 部分, 逻辑数据映射
- 物理之前设计逻辑
- 逻辑数据映射内部
- 逻辑数据映射的组成
创建逻辑数据映射
收集和文档化源系统
保持跟踪源系统
确定记录系统
分析源系统: 使用来自数据评估的结果
集成异构数据源
第 2 部分: 从不同平台进行抽取的挑战
通过 ODBC 连接不同的源
主机数据源
- 处理 COBOL Copybook
- EBCDIC 字符集
- 转换 EBCDIC 到 ASCII
- 在平台间转换数据
- 处理主机数字类型数据
- 使用PIC
- 解压压缩的数据
- 使用重定义字段
- 多重 OCCUR 子句
- 管理多主机记录类型文件
- 处理主机变化记录长度
- 从IMS, IDMS, Adabase 和 Model 204抽取
平面文件
XML 数据源
- 字符集
- XML 元数据
- DTD (文档类型定义)
- XML 结构
- 命名空间
Web 日志数据源
- 点击流数据仓库的更多信息请参考一本优秀的图书《Clickstream Data Warehousing 》, 作者是Mark Sweiger, Mark R. Madsen, Jimmy Langston, and Howard Lombard ,Wiley 出版社 2002 *
- W3C 通用和扩展格式
- Web 日志中的名称值对
ERP 系统数据源
第 3 部分: 抽取变化数据
监测变化
- 使用审计列
- 数据库日志的获取和提取
- 按时抽取
- 排除处理
- 初始和增量加载
抽取的技巧
监测数据源中删除或覆盖的事实记录
===========
第四章 清洗和规范化
定义数据质量
假设
第 1 部分: 设计目标
了解关键参与者
- 数据仓库管理员
- 信息驾驶员
- 信息质量负责人
- 维表管理员
- 事实表提供者
竞争因素
平衡冲突的优先级
- 完备性与快速性
- 校正与透明
- 从制程业的质量管理理论中学习
阐述策略
第 2 部分: 清洗提交报告
数据评估提交报告
清洗提交报告#1: 错误事件表
清洗提交报表#2: 审计维
审计维的最佳点
第 3 部分: 过滤器及其度量
异常检测阶段
约束的类型
驱动过滤器设计的度量
过滤器
- 已知表行数
- 列空值
- 列的数字和日期范围
- 列长度限制
- 列的明显的有效值
- 列的明显的无效值
- 检查表行数的合理性
- 检查列分布合理性
- 通用的数据和值规则合理性
第 4 部分: 规范化报表
规范化维
- 设计规范化维
- 应用
- 规范化维的可变更性
- 规范化事实
- 事实表提供者
- 维表管理员: 发布规范化维来影响事实表
- 规范化维的详细提交步骤
- 实现规范化模块
- 匹配驱动去重复
- 共存: 规范化的最后一步
- 提交
第五章 提交维表
维度的粒度
维度的基本加载计划
扁平(Flat)维度和雪花(Snowflake)维度
日期和时间维
大维度
小维度
一个维表还是多个
角色维度
其它维度的子维度
退化维
缓慢变化维
- 类型 1 缓慢变化维(覆盖)
- 类型 2 缓慢变化维(分区历史)
- 第二种缓慢变化维的精确时间戳
- 类型 3 缓慢变化维(交替实体)
- 混合缓慢变化维
满后到达的维度记录和更正劣质数据
层次表和桥接表
不规则层次和桥接表
技术关键点: 生成层次桥接表
采用维度中的位置属性展现文本事实
第六章 提交事实表
事实表基本结构
确保参照完整性
代理键管道
使用维表而不是查找表
基础粒度
准备装载事实表
- 管理索引
- 管理分区
- 覆盖回滚日志
- 装载数据
- 增量装载
- 插入事实
- 更新和纠正事实
- 消除事实
- 更新事实
- 删除事实
- 逻辑删除事实
无事实的事实表
用类型 2 历史数据补充类型 1 事实表
优化更正
事实表中多个度量单位
在多币种中收集收入
迟到的事实
聚合
管理聚合, 包括物化视图
提交维度数据到 OLAP 立方体
集成 OLAP Processing 到 ETL 系统
OLAP 综述
第三部分 开发和运行
第七章 开发
当前市场上提供的 ETL 工具包
当前脚本语言
时间是本质
预装载中的数据排序
在主机系统中排序
切割多余部分(过滤)
在主机系统上抽取源文件的部分记录
抽取源文件字段的子集 ( awk )
在主机系统创建聚合抽取
使用数据库的块加载工具加速数据插入
块加载的准备
管理数据库特性来提高性能
次序
- 执行参考完整性
- 子维度
- 维度
- 桥连接表
- 事实表
- 层次映射表
聚合与分组对性能的影响
使用标量函数对性能的影响
避免使用触发器
克服 ODBC 瓶颈
利用并行处理优势
性能问题纠错
增长的 ETL 吞吐量
- 关于减少输入输出的争论
- 消除数据库读写
- 尽快进行筛选
- 分区和并行
- 更新增量聚合
- 只装载你所需要的数据
- 批量装载/消除日志
- 消除数据库的限制和索引
- 消除网络瓶颈
- 使 ETL 引擎工作
第八章 运行维护
调度和支持
ETL 的可靠性, 可用性和可管理性分析
ETL 高度 101
调度工具
装载依赖
元数据
迁移到生产系统
数据仓库的操作支持
版本发布
在生产环境中支持 ETL 系统
获得最优的 ETL 性能
估计装载时间
- 估计抽取过程时间
- 估计转换过程时间
- 估计装载过程时间
长时间运行 ETL 过程的不足
- 水平 ETL 系统流和垂直 ETL 系统流
- 分析失败类型
- 网络失败
- 数据库失败
- 磁盘失败
- 内存失败
- 临时空间
- 数据空间
- 索引空间
- 文本文件空间
- 数据质量失败
- 未声明的系统升级
- 恢复问题
最小化装载失败风险
清除历史数据
监控 ETL 系统
- 度量 ETL 特定性能指标
- 度量基础性能指标
- CPU 利用率
- 内存分配
- 服务器争夺
- 内存争夺
- 磁盘争夺
- 数据库争夺
- 处理器争夺
度量数据仓库利用率来帮助管理 ETL 过程
ETL 过程调优
了解数据库
- 插入, 更新, 删除
- 日志的作用
- 索引的作用
- 约束关系和外键
ETL 系统安全
开发环境安全
生产环境安全
短期归档和恢复
长期归档和恢复
介质,格式,软件和硬件
过时的和废弃的格式
硬拷贝, 标准和博物馆
刷新, 迁移, 模拟和封装
第九章 元数据
定义元数据
什么是元数据
源系统元数据
数据集结元数据
DBMS 元数据
前端元数据
业务元数据
业务定义
源系统信息
数据仓库数据字典
逻辑数据视图
技术元数据
系统详细目录
数据模型
数据定义
业务规则
ETL 生成的元数据
ETL 任务元数据
批处理元数据
- 装载进度
- 数据质量错误事件元数据
- 处理执行元数据
- 运行结果
- 异常处理
- 批处理调度
元数据标准和实践
建立标准
命名习惯
效果分析
第十章 项目管理
评论: