这里简单讲下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. 【Insertion Sorted List】cpp

    题目: Sort a linked list using insertion sort. 代码: /** * Definition for singly-linked list. * struct L ...

  2. How to Build Android Applications Based on FFmpeg by An Example

    This is a follow up post of the previous blog How to Build FFmpeg for Android.  You can read the pre ...

  3. BZOJ 1001: [BeiJing2006]狼抓兔子 最小割

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1001 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓 ...

  4. vs2008 添加与修改模板.

    添加 我的模板: 路径:  C:\Users\Administrator\Documents\Visual Studio 2008\Templates\ItemTemplates\Visual C# ...

  5. JavaScript之setcookie()讲解

    function setcookie(name,value){          var Days = 30;          var exp  = new Date();          exp ...

  6. JavaScript之isNaN()函数讲解

    定义和用法 isNaN() 函数用于检查其参数是否是非数字值. 语法 isNaN(x) 参数 描述 x 必需.要检测的值. 返回值 如果 x 是特殊的非数字值 NaN(或者能被转换为这样的值),返回的 ...

  7. mysql5日期类型datetime查询范围值

    1.DATE_FORMAT函数 SELECT a.create_time FROM account_log a WHERE a.create_time >= DATE_FORMAT('2014- ...

  8. 使用Zend OpCache 提高 PHP 5.5+ 性能

    使用Zend OpCache 提高 PHP 5.5+ 性能 作者:admin | 时间:February 28, 2015 | 分类:Linux | 评论:1 评论 PHP 5.5 以后内建了 OpC ...

  9. JavaScript 堆内存分析新工具 OneHeap

    OneHeap 关注于运行中的 JavaScript 内存信息的展示,用可视化的方式还原了 HeapGraph,有助于理解 v8 内存管理. 背景 JavaScript 运行过程中的大部分数据都保存在 ...

  10. MVC中 ViewBag、ViewData和TempData区别

    MVC3中 ViewBag.ViewData和TempData的使用和区别 public dynamic ViewBag { get; } public ViewDataDictionary View ...