数据仓库笔记


术语

  • 数据仓库 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 部分, 逻辑数据映射

  • 物理之前设计逻辑
  • 逻辑数据映射内部
  • 逻辑数据映射的组成

创建逻辑数据映射

  • 数据发现阶段

收集和文档化源系统 保持跟踪源系统 确定记录系统 分析源系统: 使用来自数据评估的结果

  • 数据内容分析
  • 在ETL过程中收集业务规则

集成异构数据源

第 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 系统流
  • 分析失败类型
  • 网络失败
  • 数据库失败
  • 磁盘失败
  • 内存失败
  • 临时空间
  • 数据空间
  • 索引空间
  • 文本文件空间
  • 数据质量失败
  • 未声明的系统升级
  • 恢复问题

最小化装载失败风险

清除历史数据 监控 ETL 系统

  • 度量 ETL 特定性能指标
  • 度量基础性能指标
  • CPU 利用率
  • 内存分配
  • 服务器争夺
  • 内存争夺
  • 磁盘争夺
  • 数据库争夺
  • 处理器争夺

度量数据仓库利用率来帮助管理 ETL 过程 ETL 过程调优 了解数据库

  • 插入, 更新, 删除
  • 日志的作用
  • 索引的作用
  • 约束关系和外键

ETL 系统安全 开发环境安全 生产环境安全

  • FTP 的不足
  • 加密/解密

短期归档和恢复 长期归档和恢复 介质,格式,软件和硬件 过时的和废弃的格式 硬拷贝, 标准和博物馆 刷新, 迁移, 模拟和封装

第九章 元数据

定义元数据

什么是元数据 源系统元数据 数据集结元数据 DBMS 元数据 前端元数据

业务元数据

业务定义 源系统信息 数据仓库数据字典 逻辑数据视图

技术元数据

系统详细目录 数据模型 数据定义 业务规则

ETL 生成的元数据

ETL 任务元数据

  • 任务
  • 转换元数据
  • 转换的命名习惯

批处理元数据

  • 装载进度
  • 数据质量错误事件元数据
  • 处理执行元数据
  • 运行结果
  • 异常处理
  • 批处理调度

元数据标准和实践

建立标准 命名习惯

效果分析

第十章 项目管理


评论: