ETL工具箱1 需求现状和架构
ETL系统能够:
消除数据错误并纠正缺失数据;提供对于数据可信度的文档化衡量;为保护数据获取相互作用的数据流程;把多个源数据整合到一起;将数据进行结构化供最终用户使用。
抽取转换加载==〉抽取,清洗,规格化,提交。
创建ETL系统的时候,头脑里并存的两条主线:规划&设计主线 和 数据流主线
规划&设计主线 :需求和实现===〉架构===〉系统实施===〉测试和发布
数据流主线 :抽取===〉清洗====〉规格化====〉提交
架构的时候,我们必须作出关于创建ETL系统创建方法的主要的决定,其中包括:1 手工编码还是使用ETL工具 2批处理还是流数据处理 3水平任务依赖还是垂直任务依赖4自动调度 5异常处理 6质量控制 7恢复和重启 8元数据9安全
数据仓库术语表:
操作型数据存储(ODS,Operational Data Store)
企业数据仓库 (EDW,Enterprise Data Warehouse)
集结区 (Staging Area)
展现区(Presentation area)
维度数据模型是每个数据仓库成功的关键。
数据评估是一个系统的检测过程,对ETL需要使用的数据源的质量,范围,和上下文进行检查。
数据集成采用规格化的维表和事实表。所谓规格化的维表就是指在分离的数据库中建立公共维度体系。这样使用这些实体能够构建横向钻取型的报表。
数据的归档和数据线性化
我们推荐在每个主要的转换发生的时候集结数据,这个集结点发生在全部的4个步骤:抽取,清洗,转换,和提交。
为什么要将集结进行归档(将数据写入磁盘)?
除非明确规定不会恢复某个数据。同时每个集结归档都应该有与之对应的元数据,描述原始数据源和处理步骤。
早期架构选择中最终要的是确定使用供应商的etl还是 自己手工编码方式来实现系统。,几乎所有的设计ETL系统的细节都基于这样的选择
一定要先进行数据评估,使用数据评估的结果去说服业务主管,安排现实的开发进度。
批处理式数据六还是流式数据流
ETL系统的标准架构是从数据源中周期性的以批处理的方式进行抽去数据,流经整个系统,最后以批处理的方式对最终用户表进行批量更新。本书也是主要基于此种架构方式。如果数据仓库的加载的实时性变得很急迫,批处理的方式就会被打破,替代的方法就是流式数据流,记录级数据从原系统不停的流向最终用户数据库和屏幕。
批处理方式会改变所有的一切,尽管必须也有抽取,清晰,转换和提交步骤,但是这些步骤必须经过修改,以便适应实时性记录处理需求,尤其是对于快速流方式而言,很多关于数据到达甚至参照完整性方面的常规假设都必须进行修改。
水平方式还是垂直方式任务依赖
水平方式组织任务流是指每个最终的数据库加载相互独立运行,因此,如果有订货和配送两项任务,这两项数据库加载任务会相互独立运行,这通常意味着抽取,清晰,转换和提交的步骤在两个工作流之间是非同步的。
垂直方式任务流会对多个离散的作业进行同步,这样最终得数据库加载会同步进行。尤其是多个系统使用共同的维表的时候,比如客户或者供应商等,之前的步骤一定要同步,这样,如果之前的步骤没有完全执行完,后面的步骤,比如转换或者提交就不会往下进行。
调度自动化
异常处理
质量控制
恢复与重启:非正
元数据
安全性
下面为引用别的文章,不是本书 内容:
1) 数据集市是设计用来满足部门需求的,各部门的目标可能差别很大,这也是为什么 企业内各部门拥有结构和特征都不同的数据集市的原因。数据仓库则是设计用来满足企 业综合需求的。一个设计方案可以是对一个特定部门最优的,也可以是对一个企业最优的 ,但不可能对两者均是最优方案。针对企业的设计目标和针对部门的差别很大。 2) 数据集市与数据仓库中数据的详细程度也完全不同。数据集市中包含有许多概要 和累计数据,而数据仓库中则包含有大量的详细数据。显然,你可以从详细数据中计算出 概要和累加数据,但反之则不行。对业务分析而言,详细数据在很多场合都非常重要。 综上所述,我们可以归纳出以下要点: ·数据集市和数据仓库中的数据模型不同,前者一般采用星形连接结构,后者则用第 三范式为主; ·数据集市中的历史数据信息量比数据仓库少很多; ·数据集市中的主题和数据仓库中的主题关联并不很多; ·数据集市中的关系与数据仓库中的关系不同; ·数据集市中的查询类型与数据仓库中的查询类型差别很大; ·数据集市中的用户类型 (较低层次)和数据仓库中的用户类型 (较高层次)差别很 大; ·数据集市的主要结构与数据仓库的主要结构具有显著的区别。
数据集市:本书中,我们将其统一定义为:基于企业的原子级粒度的数据,面向业务流程的数据集合,只依赖于数据度量事件的本身,而非预期的用户问题。、
它基于流程,原子级数据基础,基于数据度量
企业级数据仓库(EDW(也称之为CIF)(corporate information factory))和DW是不同的,架构什么的都不同
数据仓库:数据仓库是一个将源系统数据抽取,清洗,规格化,提交到维度数据存储的系统,为决策的制定提供查询和分析功能的支持与实现。