`

ETL中缓慢变化维度的处理方式

阅读更多

 

ETL中缓慢变化维度的处理方式

 

缓慢变化维处理系统(Slowly Changing Dimension ProcessorSCD

主要功能是处理维度表的属性随时间变化的情况,处理方式为:类型1(直接覆盖),类型2(生成新行),类型3(添加新列)。

迟到维度处理系统(Late Arriving Dimension Handler

主要功能是当维度数据的变化情况到达数据准备区的时间晚于对应的事实数据时,对维度数据的插入和更新策略。

缓慢变化维(Slowly Changing DimensionsSCD)。缓慢变化维的提出是因为在现实世界中,维度的属性并不是静态的,它会随着时间的流失发生缓慢的变化。这种随时间发生变化的维度我们一般称之为缓慢变化维,并且把处理维度表的历史变化信息的问题称为处理缓慢变化维的问题,有时也简称为处理SCD的问题。

处理缓慢变化维的方法通常分为三种方式。

1.第一种方式是直接覆盖原值。这样处理,最容易实现,但是没有保留历史数据,无法分析历史变化信息。第一种方式通常简称为“TYPE 1”

 

    例如:
    更新前:
    emp_rid(代理键)  emp_id(自然键)   emp_name     position
    101212           12345            Jack         Developer
 
    更新后:
    emp_rid(代理键)  emp_id(自然键)   emp_name     position
    101212           12345            Jack         Manager

 

2.第二种方式是添加维度行。这样处理,需要代理键的支持。实现方式是当有维度属性发生变化时,生成一条新的维度记录,主键是新分配的代理键,通过自然键可以和原维度记录保持关联。第二种方式通常简称为“TYPE 2”

 

   例如:
    更新前:
    emp_rid(代理键)  emp_id(自然键)   emp_name   position     start_date   end_date
    101212           12345            Jack       Developer    2010-2-5     2012-6-12
 
    更新后:
    emp_rid(代理键)  emp_id(自然键)   emp_name    position    start_date   end_date
    201245           12345            Jack        Manager     2012-6-12    

 

3.第三种方式是添加属性列。这种处理的实现方式是对于需要分析历史信息的属性添加一列,来记录该属性变化前的值,而本属性字段使用TYPE 1来直接覆盖。这种方式的优点是可以同时分析当前及前一次变化的属性值,缺点是只保留了最后一次变化信息。第三种方式通常简称为“TYPE 3”

   例如:
    更新前:
    emp_rid(代理键)  emp_id(自然键)   emp_name   position     old_position   
    101212           12345            Jack       Developer    null
 
    更新后:
    emp_rid(代理键)  emp_id(自然键)   emp_name   position     old_position
    101212           12345            Jack       Manager      Developer

在实际建模中,我们可以联合使用三种方式,也可以对一个维度表中的不同属性使用不同的方式,这些,都需要根据实际情况来决定,但目的都是一样的,就是能够支持方便的分析历史变化情况。

 

分享到:
评论

相关推荐

    Informatica的缓慢维度变化

    缓慢维度变化是 Informatica 中的一种维度变化处理机制,用于处理实时数据变化的维度表。在本文中,我们将讨论 Informatica 中缓慢维度变化的原理和实现方法。 缓慢维度变化的定义是指在维度表中,随着时间的推移,...

    ETL_InformaticaPowercenter缓慢变化维[参照].pdf

    在数据仓库设计中,处理缓慢变化维有多种策略,Informatica PowerCenter 支持以下三种主要方式: 1. **保持最新值**(Keep Most Recent Values in Target):这种方法只保留最新的值,历史记录被最新的信息覆盖。在...

    Informatica缓慢变化维探究.pdf

    **Informatica**提供了一套完整的解决方案来处理缓慢变化维,主要包括以下几种方法: 1. **覆盖(Type 1 Dimension)** - **定义**:在这种情况下,数据仓库只保留最新的数据值,而不保存历史版本。如果源系统的...

    1、ETL工程师经典面试题.md

    请分别阐述三大类维度处理方式。 10. 如何实现增量抽取,分别阐述各种增量抽取方式,并且比较各种方式的优劣,及你推荐的做法? 11. 用过什么 ETL工具,以及该工具简单讲述特点。 12. ETL 工具一般有哪些组成部分,...

    数据仓库建模与ETL实践技巧(重要)

    5. **处理缓慢变化维度**:当维度数据随时间改变时,如新产品加入或产品属性更新,需在ETL过程中处理。处理方式包括类型1(替换原有值)、类型2(保留历史记录)和类型3(添加新记录,保持历史不变)。 ETL(提取、...

    数据仓库建模与ETL的实践技巧

    维度表通常包含代理键,用于提高JOIN操作效率,并处理缓慢变化维度,以跟踪维度属性随时间的变化。 5. ETL过程:ETL是数据仓库构建的核心,负责从源系统抽取数据,转换成适合分析的格式,然后加载到数据仓库中。这...

    数据仓库 代理键 使用方法

    1. 缓慢变化维度处理: 缓慢变化维度是指维度表中的某些属性随着时间逐渐改变,而不是突然替换。例如,员工的部门可能随着时间而调整,但他的员工ID保持不变。使用代理键,我们可以记录员工在不同时间段所属的不同...

    ETL构建数据仓库

    - **缓慢变化维度**:处理数据更新或修改时,保持数据的历史记录,以反映数据随时间的变化情况。 **步骤五:ETL流程设计与实施** - **定义**:根据前面的分析结果,设计具体的ETL流程并实施。 - **重要性**:高效...

    数据仓库ETL工具箱

    处理缓慢变化维的方法有类型1(覆盖旧值)、类型2(保留历史记录)、类型3(添加新维度)等。每种方法都有其优缺点,需根据业务需求选择合适策略。 6. **ETL工具**:市场上有许多ETL工具,如Talend、Informatica、...

    数据仓库建模与ETL实践技巧.pdf

    通常,数据仓库会采用几种策略来处理缓慢变化维度,如时间戳、类型2维度表等,保持历史数据的完整性。 7. ETL过程: ETL是数据仓库建设的关键步骤,包括数据抽取、转换和加载。抽取从源系统获取数据,转换处理数据...

    ETL架构师面试题.pdf

    - 交付阶段加载数据仓库的各个组件,如维度表、事实表、聚集和缓慢变化维度,以及处理迟到的数据。 5. 数据准备区通常使用不同的数据结构来保存数据,包括固定格式文本文件、XML数据集、关系数据库表、独立数据库...

    ETL_面试资料

    9. 缓慢维度变化是指维度属性逐渐改变,而非立即更新。处理方式有类型1(覆盖现有值)、类型2(添加新记录)和类型3(保留历史记录)。 10. 增量抽取方法有基于时间戳、基于触发器和基于变更数据捕获(CDC)。...

    ETL架构师面试题及答案

    4. **交付**:加载维度表数据、处理缓慢变化维度、加载事实表数据等,并最终将数据加载至数据仓库。 这些阶段紧密地结合在一起,形成了一个完整的ETL流程。数据仓库架构师和ETL系统设计师通常需要紧密合作,确保...

    数据仓库工具箱 维度建模权威指南 (第3版)

    此外,书中的章节涵盖了维度建模的最佳实践,如延迟维度转换、缓慢变化维度处理、粒度转换以及时间维度的设计。这些内容对于处理数据的变化和历史记录的保留至关重要。书中还特别提到了如何处理不规则或非典型的数据...

    ETL面试题.docx

    - **交付**:加载星型模型、雪花模型的维度表和事实表,处理缓慢变化维度、迟到的维度和事实等,并将处理好的数据加载到数据仓库。 这些步骤确保了数据的准确性和一致性,同时也紧密结合了数据仓库的建模过程。 ##...

    数据仓库建模与ETL的实践技巧实用教案.pptx

    缓慢变化维度处理则涉及到如何管理这些维度随时间的变化,确保数据的准确性。 ETL过程是数据仓库生命周期中的重要部分。数据抽取涉及从源头系统获取数据,全量抽取是提取所有数据,而增量抽取只处理自上次抽取以来...

    The Data Warehouse ETL Toolkit-中文版

    - **提交维表**:深入探讨了维度建模的方法和技术,如如何构建维度表、处理缓慢变化维度等。 - **提交事实表**:讲解了事实表的构建原则,以及如何优化事实表的加载过程。 ##### 第三部分:实施与运行 - **开发**:...

    ETL架构中的38个子系统1

    10. 缓慢变化维处理系统(Slowly Changing Dimension Processor, SCD): 针对维度表中随着时间变化的属性,SCD处理器支持三种常见处理策略:类型1(直接覆盖)、类型2(创建新行)和类型3(添加新列),以反映历史...

    数据仓库工具箱:维度建模的完全指南

    2. 缓慢变化维度:记录维度属性随时间的变化,有类型1、类型2等多种处理方式。 八、性能优化 通过分区、索引、物化视图等方式提升查询性能,同时利用ETL(提取、转换、加载)过程优化数据加载效率。 九、元数据...

Global site tag (gtag.js) - Google Analytics