About 数据仓库和ETL解决方案的相关总结(EDW&ETL)

本文详细介绍了数据仓库的基本概念,包括定义、关键特性、粒度、核心组件和相关拓展,如数据仓库的两大理论流派、数据集市等。接着,阐述了ETL(抽取-转换-加载)过程,强调了数据抽取、转换和装载的重要性。讨论了Kettle工具的使用场景、功能模块和解决方案,以及Kettle在数据整合和ETL中的应用。最后,提到了数据仓库的实施步骤和基础架构,涵盖了Oracle和Hadoop在数据仓库中的角色。
摘要由CSDN通过智能技术生成

博文目录

ETL Tools For EDW 主题分享

一、数据仓库基础概念

1、定义

数据仓库之父比尔﹒恩门(Bill Inmon)将数据仓库描述为一个面向主题的、集成的、随时间变化的、非易失的数据集合,用于支持管理者的决策过程。(—广为认可的数据仓库定义)

2、关键特性

  • 面向主题:传统的操作型系统是围绕组织的功能性应用进行组织的、而数据仓库是面向主题的。主题的概念是抽象的,简单的描述就是与业务相关的数据的类别,每一个主题基本对应一个宏观的分析领域。
  • 集成:集成与面向主题是密切相关的。数据仓库必须能够解决诸如产品命名冲突,计量单位不一致等问题。当完成了这些数据整合工作,则数据仓库可称为是集成的。
  • 随时间变化:数据仓库中的数据是反应了某一历史时间点的数据快照,既是随时间变化的意思。但是数据仓库中的数据也是有生命周期的,到一定时候,数据会从数据仓库移除,如汇总后删除明细、转储到更大的介质或直接删除。
  • 非易失:一旦进入数据仓库中,数据就应该不再有改变。如果数据是修改频繁的,那将是历史轨迹分析变的没有意义。

3、粒度

  • 除了上述四个主要特性外,数据仓库还有一个非常重要的概念就是粒度。粒度问题遍布于数据仓库体系的各个部分。粒度是指数据的细节或汇总程度,细节程度越高,则粒度级别越低。
  • 数据粒度一直是数据仓库设计需要重点思考的问题。粒度之所以是数据仓库环境的关键设计问题,是因为它极大的影响数据仓库的数据量和可以进行的查询类型。
  • 大多数情况下、数据会以很低的粒度进入数据仓库,之后应该对数据进行编辑、过滤和汇总,使其适应数据仓库环境的粒度级别。

4、核心组件

业务系统(提供源数据)、数据整合(ETL过程+)、数据仓库(ODS/RDS、TDS/DW)、用户接口(Ad-Hoc、BI、Mini Data)

5、相关拓展

5.1、数据仓库两大理论流派
  • 上述概念基于Inmon企业信息工厂核心概念和架构;(企业中央数据仓库的思想,主张构建数据驱动的、采用实体关系建模的、集成的数据仓库)
  • 数据仓库还有一大流派:是以Kimball为代表的互联的数据集市的思想,主张多个互联的、松度耦合的数据集市共同组成数据仓库,是面向业务驱动的、采用多维建模的、分布式的数据仓库。(多维的)
  • 这两大理论流派对于数据仓库相关概念的定义和理解存在差异,这些差异性也带来了其建模方法和建模结构的差异性,探讨这两者之间的差异和主张,有助于博采众长,指导项目实施。
5.2、数据仓库的基本需求

数据仓库的基本需求是:

  • 安全性、
  • 可访问性、
  • 自动化,
  • 对数据的要求是准确性、
  • 日才效性、
  • 历史可追溯性。
5.3、关系数据模型规范化
  • 关系数据模型的规范化是一种组织数据的技术: 规范化方法对表进行分解,以消除数据元余,避免异常更新,提高数据完整性。
  • 维度表规范化:可能导致表数量增加,使的结构更复杂;不可避免多表连接,使的查询复杂;不适合使用位图索引等
5.4、维度模型
  • 维度模型通常以一种被称为星型模式的方式构建。所谓星型模式,就是以一个事实表为中心,周围环绕着多个维度表。
  • 还有一种模式叫做雪花模式,是对维度做进一步规范化后形成的。
  • 星型模式是非规范化的,有简化查询、获得查询性能、简化业务报表逻辑、快速聚合、便于向Cube提供数据等优点;主要缺点是不能保证数据完整性。
5.5、数据集市
  • 数据集市是数据仓库的一种简单形式,通常由组织内的业务部门自己建立和控制。一个数据集市面向单一主题域,如销售、财务、市场等。
  • 数据集市的数据源可以是操作型系统(独立数据集市),也可以是企业级数据仓库(从属数据集市)。
5.6、DV模型
  • 5.6.1、Data Vault 是一种数据仓库建模方法, 用来存储来自多个操作型系统的完整的历史数据。Dat a Vault 方法需要跟踪所有数据的来源,因此其中每个数据行都要包含数据来源和装载时间属性, 用以审计和跟踪数据值所对应的源系统。Data Vault 不区分数据在业务层面的正确与错误,它保留操作型系统的所有时间的所有数据, 装载数据时不做数据验证、清洗等工作,这点明显有别于其他数据仓库建模方法。Data Vault 建模方法显式地将结构信息和属性信息分离, 能够还原业务环境的变化。Data Vault 允许并行数据装载,不需要重新设计就可以实现扩展。

  • 5.6.2、Data Vault ( DV )模型用于企业级的数据仓库建模, 是Dan Linstedt 在20 世纪90 年代提出的。在最近几年, Data Vault 模型获得了很多关注。
    Dan Linstedt 将Data Vault 模型定义为:Data Vault 是面向细节的,可追踪历史的, 一组有连接关系的规范化的表的集合。这些表可以支持一个或多个业务功能。它是一种综合了第三范式和星型模型优点的建模方法。其设计理念是要满足企业对灵活性、可扩展性、一致性和对需求的适应性要求, 是一种专为企业级数据仓库量身定制的建模方式。

  • 5.6.3、Data Vault 模型有中心表( Hub )、链接表( Link )、附属表(Satellite ) 三个主要组成部分。中心表记录业务主键,链接表记录业务关系,附属表记录业务描述。

    • 中心表用来保存一个组织内的每个实体的业务主键,业务主键唯一标识某个业务实体。中心表和源系统表是相互独立的。当一个业务主键被用在多个系统时,它在Data Vault 中也只保留一份,其他的组件都链接到这一个业务主键上。这就意味着业务数据都集成到了一起。
    • 链接表是中心表之间的链接。一个链接表意味着两个或多个中心表之间有关联。一个链接表通常是一个外键,它代表着一种业务关系。在Data Vault 里,每个关系都以多对多方式关联,这给模型带来了很大的灵活性。无论数据在源系统中是什么关系,都可以保存在Data Vault 模型中。
    • 附属表用来保存中心表和链接表的属性, 包括所有的历史变化数据。一个附属表总有一个且唯一一个外键引用到中心表或链接表。
  • 5.6.4、一个设计良好的Data Vault 模型应该具有以下特点:

    1. 所有数据都基于时间来存储,即使数据是低质量的,也不能在ETL 过程中处理掉;
    2. 依赖越少越好;
    3. 和源系统越独立越好;
    4. 设计上适合变化;
    5. 源系统中数据的变化;
    6. 在不改变模型的情况下可扩展;
    7. ETL 作业可以重复执行;
    8. 数据完全可追踪;

二、数据仓库实施步骤

实施一个数据仓库项目的主要步骤是:定义项目范围、收集并确认业务需求和技术需求、逻辑设计、物理设计、从源系统向数据仓库装载数据、使数据可以被访问以辅助决策、管理和维护数据仓库。

1、定义范围

首要任务是定义项目的范围。项目范围定义了一个数据仓库项目的边界。典型的范围定义是组织、地区、应用、业务功能的联合表示。定义范围时通常需要权

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值