这里简单讲下SCD

在讲之前贴上两个有用的链接地址。作者的两篇文件讲解了SCD是什么以及应用

http://www.cnblogs.com/biwork/p/3363749.html

http://www.cnblogs.com/biwork/p/3371338.html

Slow Changing Dimension翻译过来就叫缓慢渐变维度。它被应用于数据仓库中对维度表数据的加载。因为数据总是在不断增长和变化的,在第一次完全加载数据后需要处理增量加载数据的处理场景,以及数据是否需要保留历史数据的问题。Slow Changing Dimension必须满足这些技术层面的问题。SSIS中有一个叫Slow Changing Dimension的组件,但是它的实现功能其实是可以有其他的方法来替代的。SCD的三种常见的类型参考:http://www.cnblogs.com/biwork/p/3363749.html。其实就是:只更新保留一条记录、保留过往的历史记录(通过时间字段或者标签字段来标示有效行)、只保留当前行和”最新的旧行“。

替代Slow Changing Dimension组件的方法:

1)纯T-SQL的MERGE方法来实现

2)在 SSIS 中使用 Lookup, Conditional Split, Multicast 等控件实现 SCD 效果(其中的Lookup也可以用Merge组件来代替,只是要提前对数据进行排序)

为什么要替代Slow Changing Dimension组件?

Slow Changing Dimension组件不管是与查找表(Lookup table)的键匹配,还是后面需要用到OLE Command来更新Change Attitude分支的输出行、Insert到destination table也不是fast load(因为insert和update存在锁冲突,所以都是逐行逐行插入的)。由此可以性能上Slow Changing Dimension组件在处理数据集大的情况下肯定不佳或者说不及其他两种方法。(来自Professional Microsoft SQL Server 2012 Integration Services)

Data Flow ->> Slow Changing Dimension的更多相关文章

  1. SSIS ->> Control Flow And Data Flow

    In the Control Flow, the task is the smallest unit of work, and a task requires completion (success, ...

  2. 微软BI 之SSIS 系列 - 数据仓库中实现 Slowly Changing Dimension 缓慢渐变维度的三种方式

    开篇介绍 关于 Slowly Changing Dimension 缓慢渐变维度的理论概念请参看 数据仓库系列 - 缓慢渐变维度 (Slowly Changing Dimension) 常见的三种类型 ...

  3. SSIS Data Flow优化

    一,数据流设计优化 数据流有两个特性:流和在内存缓冲区中处理数据,根据数据流的这两个特性,对数据流进行优化. 1,流,同时对数据进行提取,转换和加载操作 流,就是在source提取数据时,转换组件处理 ...

  4. Data Flow的Error Output

    一,在Data Flow Task中,对于Error Row的处理通过Error Output Tab配置的. 1,操作失败的类型:Error(Conversion) 和 Truncation. 2, ...

  5. SSIS Data Flow 的 Execution Tree 和 Data Pipeline

    一,Execution Tree 执行树是数据流组件(转换和适配器)基于同步关系所建立的逻辑分组,每一个分组都是一个执行树的开始和结束,也可以将执行树理解为一个缓冲区的开始和结束,即缓冲区的整个生命周 ...

  6. SSIS的 Data Flow 和 Control Flow

    Control Flow 和 Data Flow,是SSIS Design中主要用到的两个Tab,理解这两个Tab的作用,对设计更高效的package十分重要. 一,Control Flow 在Con ...

  7. Intel® Threading Building Blocks (Intel® TBB) Developer Guide 中文 Parallelizing Data Flow and Dependence Graphs并行化data flow和依赖图

    https://www.threadingbuildingblocks.org/docs/help/index.htm Parallelizing Data Flow and Dependency G ...

  8. SSIS ->> Data Flow Design And Tuning

    Requirements: Source and destination system impact Processing time windows and performance Destinati ...

  9. Data Flow ->> Union All

    Wrox的<Professional Microsoft SQL Server 2012 Integration Services>一书中再讲Merge的时候有这样一段解释: This t ...

随机推荐

  1. 用R语言对NIPS会议文档进行聚类分析

    一.用R语言建立文档矩阵 (这里我选用的是R x64 3.2.2) (这里我取的是04年NIPS共计207篇文档做分析,其中文档内容已将开头的作者名和最后的参考文献进行过滤处理) ##1.Data I ...

  2. sql语句not in判断条件注意事项

    sql语句not in判断条件注意事项 问题描述:mysql数据库,存在两个表org表和kdorg表,用于存储组织信息.现在我需要从org表找出组织,条件为该组织不在kdorg表里. sql语句:se ...

  3. From 《Soft Skill》——Chapter 69. My personal success book list

    There have been many excellent books that have greatly influenced what I believe and how I behave. I ...

  4. OS X 使用技巧——访问所有的键盘功能

    苹果笔记本电脑和苹果的无线键盘只有一个Delete键,可以删除光标前面的字. 按住Fn键再按Delete键就能删除光标后面的字符. 按住Fn键会把上下方向键的效果变成Page Up / Page Do ...

  5. shell编程之环境变量

    在shell编程里我们首先接触到的是环境变量,常用命令说明 1. 使用echo命令查看单个环境变量.例如: echo $PATH 2. 使用env查看所有环境变量.例如: env 3. 使用set查看 ...

  6. C++ Templates基本知识

    一.使用Templates的原因:例如我们要写一个算法,由于类型不同,我们不得不做一下工作.1.使用宏定义代替Templates不利于类型检查. 2.将一些算法放在基类里,以后的扩展的子类都需要充基类 ...

  7. BZOJ2694: Lcm

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2694 题解:令f[i]表示i是否有平方因子,则f[i]是积性函数,mu[i]表示莫比乌斯函数. ...

  8. Leetcode#126 Word Ladder II

    原题地址 既然是求最短路径,可以考虑动归或广搜.这道题对字典直接进行动归是不现实的,因为字典里的单词非常多.只能选择广搜了. 思路也非常直观,从start或end开始,不断加入所有可到达的单词,直到最 ...

  9. Javascript获取URL参数值

    getQueryString: function (name) { var reg = new RegExp("(^|&)" + name.toLowerCase() + ...

  10. Vi的使用

    Vi的使用: 范例一: 使用Vi进入一般模式: [root@dsetl lp]# vi test1.txt 范例二:按下i键进入编辑模式,开始编辑文字 -- INSERT – 范例三:按下[ESC]键 ...