zoukankan      html  css  js  c++  java
  • SSIS高级内容 系列六

    1.1 事务

    1 事务:

    Distributed Transaction Coordinator(DTC) Transactions:一个或多个需要DTC的事务,可以跨连接,任务和程序包。

    Native Transaction:位于SQL Serve引擎级的事务,使用单一连接,该连接通过使用一个T-SQL事务命令来管理。

    注:Microsoft Distributed Transaction CoordinatorMSDTC)允许应用程序跨越两个或多个SQL Server的实例来扩展事务。此外,它还允许应用程序参与到与X/Open DTP XA标准兼容的事务管理器来管理的事务中。

    2 设置TransactionOption属性

    Supported:如果在父对象(程序包)中已经存在事务,则容器将加入事务;

    Not Supported:如果当前存在一个事务,容器将不加入事务;

    Required:如果父对象不存在事务,则容器将启动一个事务,否则它将加入父对象的事务。

    2. 执行树

    2.1 数据流的转换类型

    1阻塞特性

    非阻塞转换:转换中所应用的逻辑再对数据行进行转换后不会阻止数据移动到下一个转换。

    流转换:可以使用预先缓存的数据来快速应用转换逻辑并处理引擎中的计算过程。

    基于行的转换:数据转换中的行是逐个流动的。

    半阻塞转换:再内存缓存流动到下游之前,会再数据流中将记录保留一段时间的转换。

    阻塞转换:从上游接收到所有数据然后再流向下游转换或目的地。

    同步或异步输出

    异步转换输出:输入中所使用的缓存与输出中所用的缓存不同。

    同步转换输出:在转换逻辑执行结束后立即将缓存转移到下游的转换。

    2.2 执行树

    1 执行树定义

    执行树是根据数据流组件(转换和适配器)彼此之间的同步关系而确定的逻辑分组。

    2 执行树原则

    (1) 在执行树中的每个组件和同一执行树中的剩余同步组件将转换逻辑应用于相同的一组缓存集。

    (2) 不同的执行树使用不同的缓存集,因此位于新执行树中的数据要求将转换后的数据复制到针对下一个内嵌执行树而分配的新缓存中。

    (3) 集成服务针对每个执行树使用一个进程线程,同时针对每个源适配器将使用一个进程线程。

    3 监视数据流执行
    PipelineExecutionPlan:数据流的处理过程

    PipelineExecutionTree:执行树的转换输入和输出的分组情况

    4 两个重要参数

    MaxConcurrentEcecutables 默认设置为-1。该值向SSIS表示最大并发任务数是将任务 处理程序(CPU)总数加2,然后使用该数值作为最大并发任务数。

    EngineThread =源线程树+执行树数

    注:

    1 在任何一个执行树中同时包含了输入和输出的转换为同步转换,反之为异步转换。

    2 如果数据流中的执行树超过了可用的EngineThread值,则一个WorkThread可能会分配给多个执行树。

    【出自博客园深潭的网上家园,转载请注明作者出处】
  • 相关阅读:
    内核初始化. Part 4【转】
    fixmap addresses原理【转】
    linux内核调试项【转】
    Linux Suspend流程分析【转】
    Linux电源管理-Suspend/Resume流程【转】
    Linux驱动开发常用调试工具---之内存读写工具devmem和devkmem【转】
    内核regmap机制【转】
    ARM NVIC控制器(基于cortex-M4)【转】
    Linux设备树语法详解-中断【转】
    [Go] 第一个单词首字母变大写:Ucfirst(),第一个单词首字母变小写:Lcfirst()
  • 原文地址:https://www.cnblogs.com/dbasys/p/1373349.html
Copyright © 2011-2022 走看看