理解控制流和数据流的一个入口是看他们如何运行的。一个控制流任务是一个最小的执行单位,它的运行结果有成功,失 败,和完成,在运行它的下一个任务之前必须得到这些结果。在数据流任务中,转换时最基本的元素。一个转换任务和控制任务是有很大的区别的。转换任务之间是 可以并行执行的,不必等待上一个转换任务执行完毕。

  

控制流和数据流之间的比较

控制流和数据流之间看上去很相似,但是他们有天壤之别。控制流不会处理组件之间的数据,它负责协调单独的组件单元之间的工作。这里有一些概念:
   工作流协调
   处理导向
   顺序的或平行的任务的执行
   异步处理
控制流任务可以顺序的执行,大多数时候他们会同时以这两种方式来执行。图1实例一个简单的控制流任务,它是线性执行的。这个包的执行顺序是连续的,同一时间只能运行一个任务。

图1

和控制流不同是,数据流可以发出分支,分割,再合并,并且是并行执行的。要注意的是即使他们和控制流任务一样也可以连成一条线,但是他们仍然是并行执行的。这里有一些数据流任务的概念:
   信息导向
   数据矫正和转换
   协调处理
   数据源和数据目的

和上面图1类似,图2实例一个类似的数据流任务,他们也是一一相连的。和图1中的任务项目,在图2中的一串转换中只执行了一个任务,并且这些转换都是并行执行的,换句话说可能有一行数据已经被存入到数据目的中,但是还是有数据源源不断地从数据源中流出,处理。

图2

数据流转换是同步执行的,所有的组件都是被一个流来控制。

SSIS包从开始到最后的执行时间

在一个控制流任务中可以包含多个数据流,一个包的执行时间从第一个控制流任务开始到最后一个控制流任务结束,包含中间可能的数据流任务。但是要注意的是尽可能使并行执行的任务多一些,集成服务会自动给予适当的优化,使执行时间最短。
图3展示一个包中的多个并行执行的任务。

图3

控制流中的任务会并行执行,这样执行的效率比图10-1中的线性执行要快一些。

原地址:http://www.cnblogs.com/tylerdonet/archive/2011/09/29/2195798.html

SSIS 控制流和数据流(转)的更多相关文章

  1. SSIS 控制流和数据流

    在SSIS的体系结构中,Package是SSIS的最重要的部分,从本质上来讲,Package是一个有序地执行任务的单元.Package的核心是控制流(Control Flow),用于协调包中所有组件的 ...

  2. SSIS技巧--优化数据流缓存

    问题 我们经常遇到一种情况,在SSMS中运行很慢的一个查询,当把查询转化成从源到目的数据库的SSIS数据流以后,需要花费几倍的时间!源和数据源都没有任何软硬件瓶颈,并且没有大量的格式转换.之前看了很多 ...

  3. SSIS中出现数据流数据源假死状态的解决办法

    相信开发过Sql Server SSIS的人都遇到过在数据流中数据源假死的问题,特别是Excel Source特别容易假死,当job执行到数据流中的Excel Source时,既不报错也不执行,也没有 ...

  4. 微软BI 之SSIS 系列 - 通过设置 CheckPoints 检查点来增强 SSIS Package 流程的重用性

    开篇介绍 通常一个 ETL Package 是由多个控制流和数据流共同组成,有的时候 ETL 的步骤可能会比较多,整个流程执行下来的时间可能比较长.假设在 ETL Package 中包含5个Task, ...

  5. SSIS with vertica

    使用ODBC进行连接,因为SSIS中没有直接的ODBC connection,所以使用ADO.NET的连接器. 九分钟才跑了四百来条数据. 这个图反应了SSIS的数据流速度还是可以的,但是瓶颈就在OD ...

  6. 第二篇 Integration Services:SSIS数据泵

    本篇文章是Integration Services系列的第二篇,详细内容请参考原文. 简介SSIS用于移动数据.数据流任务提供此功能.因为这个原因,当介绍SSIS时我喜欢从数据流任务开始.数据流任务的 ...

  7. 第一篇 Integration Services:SSIS是什么

    本篇文章是Integration Services系列的第一篇,详细内容请参考原文. Integration Services是一种在SQL Server中最受欢迎的子系统.允许你在各种数据源之间提取 ...

  8. 转 SSIS处理导入数据时, 存在的更新, 不存在的插入

    SSIS处理导入数据时, 存在的更新, 不存在的插入 分类: DTS/SSIS2006-09-10 12:43 18185人阅读 评论(22) 收藏 举报 ssissql servermicrosof ...

  9. 微软BI SSIS 2012 ETL 控件与案例精讲面试 200 问(SSIS 面试题,ETL 面试题)

    开篇介绍 本自测与面试题出自 微软BI SSIS 2012 ETL 控件与案例精讲 (http://www.hellobi.com/course/21) 课程,对于学完本课程的每一课时和阅读完相关辅助 ...

随机推荐

  1. 将Application按钮从任务栏中去掉

    SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);

  2. MySQL深入利用Ameoba实现读写分离

    3 ameoba安装配置   3.1 安装配置JDK [root@stu15 ~]# rpm -ivh jdk-7u67-linux-x64.rpm [root@stu15 ~]# cd /usr/j ...

  3. MySQL语法

    sql(structure query language)结构化查询语言ansi iso/iec组织制定ddl(data definition language) 数据定义语言dml(manipula ...

  4. iPhone和iPad版本的分辨率a

  5. Winform 打开下载的文件

    private void OpenFile(string filename) { ProcessStartInfo sInfo = new ProcessStartInfo(); sInfo.Wind ...

  6. 【转】MySQL GRANT REVOKE用法

    MySQL的权限系统围绕着两个概念: 认证->确定用户是否允许连接数据库服务器 授权->确定用户是否拥有足够的权限执行查询请求等. 如果认证不成功的话,哪么授权肯定是无法进行的. revo ...

  7. js代码优化

    1.减少Jquery使用 处理dom遍历和复杂的脚本场景时,jquery可能有很大的帮助,不过在处理简单的.直截了当的代码场景就会迟缓.尽可能的避免jquery对象创建,尤其在循环中. 2.优化循环 ...

  8. 6.html5分组元素

    何为分组元素,首先先看下面这个例子: <span>scolia<span>scolia</span></span> <span>scolia ...

  9. 刀哥多线程Barrier异步gcd-08-barrier_async

    Barrier 异步 主要用于在多个异步操作完成之后,统一对非线程安全的对象进行更新 适合于大规模的 I/O 操作 代码演练 准备工作 @interface ViewController () { / ...

  10. OracleINSERT提示IGNORE_ROW_ON_DUPKEY_INDEX

    OracleINSERT提示IGNORE_ROW_ON_DUPKEY_INDEX insert提示IGNORE_ROW_ON_DUPKEY_INDEX 在 insert into table a() ...