C. 数据仓库 — ETL
需求综合
- 业务需求:在项目将要支持的业务需求定义期间,必须维护一个揭示关键性能指标的列表,以及业务用户需要研究某个KPI"为什么"发生变化时,所需要的下钻和跨钻目标
- 合规性:需要列出所有的数据以及最终报表主体要遵守的法律限制。
- 数据质量:将已经知道不中意的数据记录下来,描述是否与源系统达成共识以便在获取数据之前进行更正。
- 安全性:应当将合规性列表扩展,使其包含熟知的安全和隐私需求。
- 数据集成:利用业务过程中的总线矩阵建立一致性维度的优先列表。对每个总线矩阵的行进行标注,指明参与到集成过程中的业务过程是否有明确的执行需求,以及是否由ETL小组负责这些业务过程。
- 数据延迟:针对以日为基础、或者以天为基础多次发生、以秒为基础、或者即时提供的数据的业务需求。
- 归档与世系:应当记录数据源和归档的中间数据步骤以及保留政策、合规性、安全和隐私方面的约束
- BI发布接口:列出所有将会直接被BI工具利用的事实和维度表。
- 可用的技能:清楚所在部门的操作系统、ETL工具、脚本语言、SQL、DBMS以及OLAP技能,“这样可以理解如何暴露出您缺乏的技能。列出需要支持当前系统以及未来可能有的系统的那些技能
- 传统的许可证书:列出现有的操作系统、ETL工具、脚本语言、SQL、DBMS和OLAP的许可证书,无论它们是独家使用授权还是仅仅被建议使用的情况
获取
- 子系统1:数据分析
- 子系统2:变化数据获取系统 — 增量数据获取
- 审计列
- 定时获取 — 按照修改时间进行 — 修改时间等于SYSDATE - 1(意思是昨天的记录)
- 全差异比较 — 对资源消耗巨大
- 数据库日志抓取
- 消息队列监控
- 子系统3:获取系统
清洗及转换
- 提高数据质量文化与过程
- 定义一个针对数据质量文化的高级别的承诺
- 在执行层面上发起过程再造
- 投资用于改进数据录入环境
- 投资用于改进应用集成
- 投资用于改变工作过程
- 促进端到端的团队意识
- 促进部门间合作
- 大力褒奖卓越的数据质量
- 不断度量并改进数据质量
- 子系统4:数据清洗系统
- 系统目标
- 尽早诊断并分类数据质量问题
- 为获得更好的数据而对源系统及集成工作的需求
- 提供的ETL中可能遇到的数据错误的专门描述
- 获取所有数据质量错误以及随时间变化精确度量数据质量矩阵的框架
- 附加到最终数据上的质量可信度度量
- 质量措施
- 质量屏幕
- 对质量事件的响应
- 终止过程
- 将错误记录发送到搁置文件中
- 仅对数据进行标注并将其放到流水线的下一个步骤中。
- 系统目标
- 子系统5:错误事件模式
- 子系统6:审计维度装配器
- 子系统7:重复数据删除系统
- 子系统8:一致性系统
发布:准备展现
- 概述
- 发布阶段切换维度和事实表
- 子系统9:缓慢变化维度管理器
- 类型1:重写
- 类型2:增加新行
- 类型3:增加新属性
- 类型4:增加微型维度
- 类型5:增加微型维度和类型1支架
- 类型6:在类型2维度中增加类型1属性
- 类型7:双重类型1及类型2维度
- 子系统10:代理键产生器
- 子系统11:层次管理器
- 子系统12:特定维度管理器
- 日期/时间维度
- 杂项维度
- 微型维度
- 缩减子集维度
- 小型静态维度
- 用户维度的维度
- 子系统13:事实表建立器
- 子系统14:代理键流水线
- 子系统15:多值维度桥接表建立器
- 子系统16:迟到数据处理器
- 子系统17:维度管理器系统
- 子系统18:事实提供者系统
- 子系统19:聚集建立器
- 子系统20:OLAP多维数据库建立器
- 子系统21:数据传播管理器
管理ETL环境
- 子系统22:任务调度器
- 任务定义
- 任务调度
- 元数据获取
- 日志记录
- 通知
- 子系统23:备份系统
- 备份
- 归档与索引
- 子系统24:恢复与重启系统
- 子系统25:版本控制系统
- 子系统26:版本迁移系统
- 子系统27:工作流监视器
- 子系统28:排序系统
- 子系统29:世系及依赖分析器
- 子系统30:问题提升系统
- 子系统31:并行/流水线系统
- 子系统32:安全系统
- 子系统33:合规性管理器
- 子系统34:元数据存储库管理器