SQL Server 2008集成服务详解(三)

2014-11-24 10:21:04 · 作者: · 浏览: 2

\
图1

你还可以使用SSIS直接从数据流管道加载分析服务多维OLAP(MOLAP)缓存。这意味着你不只可以使用SSIS来创建关系型数据仓库,而且你还可以用它来加载多维立方体用来分析应用程序。

3.2.3 SSIS和数据质量

SSIS的一个主要特性,以及它的集成数据的能力,是它集成不同技术来操纵数据的能力。这使得SSIS包含了创新的基于“模糊逻辑”的数据清理组件。Microsoft研究实验室开发了这些组件,并且他们展示了在这个领域的最新研究。采用的方法是一个独立的域而且不依赖于任何特定的域数据,例如地址/邮编参考数据。这使得你可以将这些转换用于清理大多数类型的数据,而不仅仅是地址数据。

SSIS与分析服务的数据挖掘功能深度集成。数据挖掘抽取了数据集的格式并将它们封装到一个挖掘模型里。然后你可以使用这个挖掘模型来预测一个数据集包含什么数据以及什么数据是反常的。这样你就可以将数据挖掘作为一个实现数据质量的工具。

在SSIS中对复杂数据路由的支持不仅帮助你确认异常数据,而且还可以自动修改并用更好的值来替代它。这使得“闭环”清理场景可用。图6显示了一个闭环清理数据流的例子。


图6

\
图1

除了它的内置数据质量特性,SSIS还可以扩展为与第三方数据清理解决方案紧密协作。

3.2.4 超出传统ETL的SSIS应用程序

数据流管道操纵几乎任何类型数据的能力、与分析服务的深度集成、对使用许多数据操纵技术对它进行扩展的支持,以及包含了一个丰富的工作流引擎,这些使得SSIS可以用在很多不是传统的ETL场景中。

服务面向架构

SSIS包括对数据流管道中源XML数据的支持,包括从磁盘上文件中获得的数据以及通过HTTP的URL。XML数据是“粉碎”放到表格数据中的,然后它就可以在数据流中很容易地进行操纵。这个对XML的支持可以与对Web services 的支持一起使用。SSIS可以与控制流中的Web services进行交互以捕捉XML数据。

你可以从文件中、从Microsoft Message Queuing(MSMQ)中,以及通过HTTP从Web捕捉XML。SSIS使得可以操纵具有XSLT、XPATH、diff/merge、等等的 XML。并且可以将这个XML放到数据流中。

这个支持使得SSIS可以成为灵活的服务面向架构(SOA)的一部分。.

数据和文本挖掘

SSIS不只具有与分析服务数据挖掘功能的深度集成,它还具有文本挖掘组件。文本挖掘(也被成为文本分类)围绕确定商业种类和文本数据(单词和短语)之间的关系。这使得可以发现文本数据中的关键术语,并且基于此,自动地确认“感兴趣”的文本。这反过来可以驱使“闭环”动作以完成商业目的,例如增加客户满意度和增强产品和服务的质量。.

按需数据源

SSIS中的一个特有功能是DataReader 目的地,它将数据放到一个ADO.NET DataReader 中。当这个组件被包含进一个数据流管道中时,你可以使用包含了DataReader 目的地作为一个数据源的包,它作为ADO.NET DataReader 来显示。所以你可以将SSIS不仅作为一个传统的ETL来加载数据仓库,还可以作为一个可以按需地从多个数据源发送集成的、一致的和干净数据的数据源。例如,你可以通过使用一个SSIS包作为报表服务的数据源,从而帮助它使用从多个不同数据源而来的数据。

一个集成所有这些特性的可能场景包含从RSS feeds确认和发送感兴趣的文章作为一个常规报表的一部分。图7显示了一个SSIS包通过Internet 获得从RSS feeds而来的源数据,与从Web service 而来的数据相集成,执行文本挖掘从RSS feeds找到感兴趣的文章,然后将感兴趣的文章放到一个DataReader目的地中去,最后由一个报表服务的报表使用。


图7

\
图1

图8显示了在Report Wizard里SSIS包作为一个数据源来使用。


图8

\
图1

在ETL工具透视图里,这个场景是非常不寻常的,因为没有数据提取、转换或加载。

3.2.5 SSIS,集成平台

SSIS超出了一个ETL工具的范畴,不只在使得非传统场景可用方面,还因为它是一个用于数据集成的真正平台。SSIS是SQL Server 商业智能(BI)平台的一部分,它使得开发端对端商业智能应用程序成为可能。

集成的开发平台

SQL Server 集成服务、分析服务,以及报表服务都使用一个基于通用的Microsoft Visual Studio 的开发环境,叫做SQL Server 商业智能(BI)开发套件。商业智能开发套件提供了一个用于商业智能应用程序开发的集成开发环境(IDE)。这个共享的基础构造使得可以在多个开发项目(集成、分析、和报表)之间进行元数据级别的集成。这个共享构造的一个例子是数据源视图(DSV),它是一个脱机的数据源schema/view定义,并被所有的三种商业智能项目类型所使用。

这个IDE提供了与其它软件集成的工具,例如版本控制软件(例如VSS),以及对基于团队的特性例如“check-in/check-out”的支持,而因此它满足了用于商业智能应用程序的企业级面向团队开发环境的需求。图9显示了一个商业智能开发套件解决方案,它包含了集成、分析和报表项目

图9

\
图1

它不只提供了一个单独的环境用于开发商业智能应用程序,它还用于开发其它的Visual Studio 项目(使用Visual C# 、Visual Basic .NET等等),并因此可以提供给开发人员一个真实的端对端开发体验。

除了集成的商业智能开发环境,商业智能开发套件还具有用于真实的运行时调试SSIS包的功能。这些包括了设置检查点和支持标准开发构造的能力,例如观察变量。一个真正的特有功能是Data Viewer,它提供了在数据流管道中集成服务处理数据记录时查看这些数据记录的能力。这个可视化的数据可以是常规的文本网格形式或一个图表展示,例如一个扩散图或条图。事实上,可以有多个连接的阅览器,它们可以同时地以多种格式显示数据。图10显示了一个使用扩散图和文本网格可视的地理数据例子。


图10

\
图1

编程

除了提供一个专业的开发环境,SSIS还通过一组丰富的API显示了它所有的功能。这些API都是可管理的(.NET框架)和本地的(Win32),并且允许开发人员通过使用.NET框架所支持的语言(例如Visual C#、Visual Basic .NET等等)和Visual C++开发定制的组件扩展SSIS功能。这些定制的组件可以是工作流任务和数据流转换(包括源和目的地适配器)。这使得遗留数据和功能可以简单地包括进SSIS集成过程,使你可以有效地使用遗留技术中过去的投入。它还使得可以简单地包含第三方组件。

脚本

先前提到的可扩展性不只局限于可重用的定制组件,还包括了基于脚本的可扩展性。SSIS具有用于工作流和数据流的脚本组件。这些使得用户可以用Visual Basic. NET编写脚本来添加热添加功能(包括数据源和目的地),以及重用任何先前存在的、打包为.NET框架装配的功能。

SQL Server 2008包括Vis