返回首页
当前位置: 主页 > SQL2008专题 > 基础知识 >

SQL Server 2008集成服务详解

时间:2008-04-30 17:12来源: 作者: 点击:
这篇文章讨论了依赖于数据集成技术的业务要提供有用的、可靠的信息来维护在现今世界中的竞争优势所要面临的挑战。它讨论了SQL Server 2008集成服务(SSIS)可以怎样帮助信息技术部门达到他们公司的数据集成要求。文章中包含真实案例。
  

2.2.2 舒适区域挑战

当你以多种方式分析一个单独需求的上下文时,你可以解决数据集成方面的挑战。手写代码实现大约60%的数据集成。解决类似问题所使用的技术从复制、ETL、SQL,到企业应用程序集成(EAI)。人们倾向于使用他们所熟悉的技术。尽管这些方法具有重叠的功能并可能在单独的情况下进行这个工作,但这些技术被优化以用于解决不同的问题。当试图解决企业数据集成问题时,缺乏一个选择了适当技术的可靠架构可能是失败的原因。

2.3 经济挑战

之前提到的公司和技术相关问题一起使得数据集成成为所有数据仓库/商业智能项目的最昂贵部分。增加数据集成成本的主要因素有:
• 将数据转换为数据集成所需要的格式是一个与公司能力相关的缓慢而痛苦的过程。

• 清理数据和将数据从多数据源匹配到一个一致的、有意义的格式是极其困难的。

• 标准数据集成工具往往不提供足够的功能或可扩展性来满足项目对数据转换的要求。这可能导致要花费大量的咨询成本来开发特殊的ETL代码以使得工作得以完成。

• 公司的不同部门只能关注到局部的数据集成问题。

当需要将它们集合到一起时,需要花费额外的努力将这些成就集成到一个企业级的数据集成架构中。

因为公司的数据仓储和商业智能需要不断发展,不完善的数据集成架构变得越来越难以操纵,并且公司花费的总成本越来越高。

3. SQL Server 2008集成服务

传统的从标准数据源进行的ETL为中心的数据集成仍然是大多数数据仓库的中心。然而,要包括更多样数据源、调整要求以及全球和在线操作的需求在快速地改变传统的数据集成要求。在这个快速发展和改变的前景下,从数据提取值的需求以及可以依赖于它的需求变得比之前任何时候都重要。高效的数据集成成为了高效率决策制定的基础。SQL Server 集成服务提供了一个灵活的、快速的、和可扩展的架构,它使得可以在当前的商业环境中进行高效的数据集成。

在本篇文章里,我们将看看SQL Server 集成服务(SSIS)对于传统的ETL操作需求和一般目的数据集成不断发展的需求是怎样的一个有效工具集。我们还将讨论SSIS怎样从根本上与主要ETL供应商所提供的工具和解决方案的不同,以至于它能够很好的满足全球商业从最大规模的企业到最小规模企业不断变化的需求。

3.1 SSIS架构

3.1.1 任务流和数据流引擎

SSIS包含一个面向操作的工作流引擎,以及一个可扩展的和快速的数据流引擎。这个数据流存在于一个完整工作流的上下文中。工作流引擎提供了运行时资源和对数据流引擎的操作支持。工作流和数据流的结合使得SSIS在传统的ETL或数据仓库(DW)场景,还有许多其它延伸的场景例如数据中心场景中非常有效。在这篇文章里,我们将主要讨论数据流相关的场景。

3.1.2 管道架构

SSIS的核心是数据转换管道。这个管道具有一个面向缓冲器的架构,它在操纵数据的记录集时,一旦记录集加载进了内存中,那么它的处理速度就非常快。方法是在一个不分级数据的单独操作里执行ETL过程的所有数据转换步骤,不过特殊的转换、操作需求或者硬件确实可能是一个障碍。但是,对于大多数操作来说,这个架构避免了分级。SSIS甚至尽可能地避免了在内存中复制数据。这是与传统的ETL工具相对比,传统的ETL工具通常需求在几乎每一步的仓库存储和集成过程中都需要进行分级。不需要分级的操纵数据能力超出了传统的关系型和文本文件数据以及超出了传统的ETL转换能力。有了SSIS,所有类型的数据(结构化数据、非结构化数据、XML,等等)在加载进它的缓冲器中之前被转换成一个表格(列和行)结构。你可以应用于表格数据的任何数据操作都可以应用于数据流管道任何步骤中的数据。这意味着一个单独的数据流管道可以集成不同的数据源并不必将这个数据分级就可以对其执行任何的复杂操作。

不过你应该注意到,如果基于业务或操作原因分级是必需的,那么SSIS也可以很好的支持这些执行。

这个架构使你可以在许多数据集成场景中使用SSIS,从传统的面向DW的ETL到非传统的信息集成技术。

3.1.3 ADO.NET连通性

集成服务解决方案的一个重要方面是提取或加载数据。因此,你的集成解决方案可以无缝地连接到一个广泛的数据源以使得可以从一个广泛的数据访问平台获得最大的性能和可靠性收益是非常重要的。SQL Server 2008集成服务对于ADO.NET 连接(先前的版本对于OLE DB或ODBC是最佳的。)来说是最佳的。向ADO.NET 的转移改进了系统集成和第三方支持。SQL Server 2005集成服务将OLE DB 用于重要的任务,例如查找,但是现在你可以将ADO.NET 用于这些任务以及源和目的组件。

3.1.4 线程池

当一个集成解决方案升级后,它通常就很难再提高性能了。SQL Server 2008集成服务打破了这个限制,它在多个组件间共享线程,这增加了并行以及降低了堵塞;并因此增加了大型高并行、多处理器、多内核系统的性能。

而且在大多数系统上提高性能,线程池还会降低对手工配置SSIS包以增加并行的要求,并因此增加了开发人员的生产力。

3.1.5 永久查找

执行查找是集成解决方案中最普遍的一个操作。特别是在真实记录使用查找将商业值转换为它们相应替代的数据仓储中非常普遍。SQL Server 2008集成服务提高了查找的性能,达到可以满足最大规模的数据表的程度。

你可以配置查找转换,将它设置为在输入字段处理之前缓存参考数据的一些、或所有。SQL Server 2008集成服务可以加载一个任何数据源完整的缓存,并允许这个缓存大于4GB,即使是在一个32位的操作系统上。通过使用一个局部缓存,SQL Server 2008集成服务使用数据流预控制查找。局部缓存支持用于数据库查找的OLEDB、ADO.Net和ODBC,而且它们跟踪查找的成功和失败。如果你选择不进行预先缓存参考数据,那么SQL Server 2008集成服务支持批量数据库调用和大小写不敏感的匹配。

3.2 集成场景

3.2.1 SSIS用于数据转换操作

尽管SQL Server 2005集成服务比之前的版本功能更多,产品更强大,但是许多用户发现使用向导进行简单的数据转换却变得更加复杂和功能更少了。SQL Server 2008集成服务具有一个改良的向导、它使用ADO.NET、具有改良的用户界面、执行自动数据类型转换、并且可扩展性比之前任何版本都好。

图2

图1


顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
发布者资料
today 查看详细资料 发送留言 加为好友 用户等级:注册会员 注册时间:2008-02-27 10:02 最后登录:2008-12-25 09:12
推荐内容