技术开发 频道

SQL Server 2008 集成服务概述

SQL Server 2008 Integration Services

在传统的以ETL为中心的数据集成中,标准的数据源仍然是大多数数据仓库的核心。然而,包括更加多样化的数据源、法规要求以及全球和在线业务在内的各种需求,正迅速地改变着对数据集成的传统要求。在这个快速发展及不断变化的背景下,从数据提取价值的需要和对这种需要的依赖能力变得比以往更加重要。有效的数据集成已成为制定有效决策的基础。SQL Server Integration

Services 提供了一个灵活、快速及可扩展的体系结构,能够对当前业务环境的数据进行有效集成。

在本文中,我们将探讨 SQL Server Integration Services (SSIS)如何成为一个有效的工具包,如何能在满足传统的 ETL 操作需求的同时满足多方面数据集成不断变化的需求。我们还将讨论 SSIS 与主要的 ETL 提供商所提供的工具和解决方案的根本区别。SSIS 能够极好地满足全球企业(从最大的企业到最小的企业)不断变化的需求。

SSIS体系结构

任务流和数据流引擎
SSIS 既包含一个面向操作的任务流引擎,也包含一个可扩展的快速数据流引擎。数据流存在于一个总体任务流的环境中。任务流引擎为数据流引擎提供运行时资源和操作支持。任务流和数据流的这种组合,使 SSIS 能够有效地作用于传统的 ETL 或数据仓库(DW)应用场景以及许多其他扩展的应用场景(如数据中心操作)。在本文中,我们将主要关注与数据流相关的应用场景。SSIS 用于面向数据中心的工作流时,是另外一个单独的主题。

管道体系结构

SSIS 的核心是数据转换管道。这个管道有一个面向缓冲区的体系结构,一旦数据被加载到内存中,该体系结构能够异常快速地操纵数据行集。方法是,在一次单一操作中执行 ETL 进程中的所有数据转换,而不是分段处理数据,尽管存在特定的转换或操作需求,或者硬件也可能会成为障碍。为了获得非常好的性能,该体系结构需要避免分段处理数据。SSIS 甚至尽量避免从内存中复制数据。相比之下,传统的 ETL 工具往往需要在入库和集成进程的几乎每个步骤都分段处理。不分段操纵数据的能力超越了对关系数据和平面文件数据的传统处理能力,也超越了传统的 ETL 转换功能。SSIS 能将所有类型的数据(结构化、非结构化和 XML 等)在被加载到其缓冲区之前转换为一种表格结构(列和行)。能够应用于表格数据的任何数据操作,也能够应用于数据流管道中任何步骤的数据。这意味着,一个单一的数据流管道能够集成各种不同来源的数据,并且能够执行任何复杂的操作,而不必分段处理数据。

请注意,如果出于业务或操作方面的原因需要进行分段处理,SSIS 也能对这些任务的执行提供良好支持。

这种体系结构支持在各种数据集成应用场景(从传统的面向 DW 的 ETL 到非传统的信息集成技术)中使用 SSIS。

ADO.NET 连接

集成服务解决方案的一个重要方面是提取或加载数据。因此,集成解决方案能够无缝连接到多种数据源是非常重要的,这样可以通过全面的数据接入平台获得非常好的的性能和可靠性收益。SQL Server 2008 Integration Services 已针对 ADO.NET 连接(以前的版本是针对 OLE DB 或 ODBC 进行优化)进行优化。与 ADO.NET 的连接改善了对系统集成和对第三方的支持。SQL Server 2005 Integration Services 是使用 OLE DB 完成重要任务(如查找),但现在用户可以针对任务、源组件和目标组件使用 ADO.NET。

线程池

集成解决方案需要扩大规模,但当它达到一定规模之后,要改善性能就变得非常困难。SQL Server 2008 Integration Services 通过在多个组件之间共享线程打破了这种限制,从而提高了并行度,减少了堵塞。因此,高度并行、多处理器和多核心系统在很大程度使性能获得提高。

在大部分系统的性能获得提高的同时,线程池也减少了手动配置 SSIS 包来增加并行性的需要,从而提高了开发人员的工作效率。
持续查找

执行查找是集成解决方案中最常见的操作之一。在数据入库时查找操作尤为普遍,因为事实记录是通过查找将业务键转换为它们相应的代理。SQL Server 2008 Integration Services 提高了查找操作的性能以相应满足最大表格的需要。

在处理输入列之前,可以将查找转换设定为缓存部分或全部引用数据。SQL Server 2008 Integration Services 能够从任何源加载全部缓存,并允许缓存大小超过 4GB,即使在 32 位操作系统上也是如此。通过利用部分缓存,SQL Server 2008 Integration Services 能够通过使用数据流预加载查找操作。部分缓存支持 OLEDB、ADO.Net 和 ODBC 的数据库查找,而且能够跟踪查找结果和查找失误。如果不选择对引用数据预先加载缓存,SQL Server 2008 Integration Services 也支持对成批数据库的调用和区分大小的匹配。
 

0
相关文章