3.2.2 SSIS用于数据仓库加载
SSIS是一个广泛的、功能完全的ETL工具。它的功能、级别和性能可与市场中的高端竞争者相比较,但价格只相当于它们的一小部分。数据集成管道架构允许它使用同时从多个数据源而来的数据、执行多个复杂的转换,然后将数据一起存储到多个目的地去。这个架构允许SSIS不只用于大型数据集,还可用于复杂的数据流。因为数据流是从数据源到目的地,你可以分割、合并,以及将数据流与其它数据流结合,并进行操纵。图3显示了这样一个数据流的例子。
图3
![]() |
| 图1 |
SQL Server 2008包含对变化数据捕捉(CDC)的支持,你可以使用CDC来记录对SQL Server数据表的插入、更新和删除活动,并且使这个变化细节可以以一种简单使用的关系型格式来使用。当使用SQL Server 2008集成服务来执行一个ETL解决方案用以确保只有变化的数据被包括进提取过程时,你可以利用CDC,这使得不会执行在每个ETL操作里包含未改变数据的全部数据刷新。
SSIS通过使用一组专门的叫做适配器的组件使得可以使用从许多数据源获得的数据,包括管理的(ADO.NET)、OLE DB、ODBC 、文本文件、Microsoft Office Excel®以及XML。SSIS甚至可以使用从定制数据适配器获得的数据(由内部开发的或第三方开发的),所以你可以将遗留数据加载逻辑封装进一个数据源,然后你可以将它无缝地集成进SSIS数据流。SSIS包含一组强大的数据转换组件,它们允许进行对于建立数据仓库来说非常重要的数据操纵。这些转换组件包括:
· 聚合。在一个单独的传递里执行多个聚合。
· 分类。在流里分类数据。
· 查找。执行灵活的查找操作来参考数据集。
· Pivot和UnPivot。流里面两个单独的转换****和逆****数据。
· Merge、Merge Join和UnionAll。可以执行join和union操作。
· 派生列(Derived Column)。 执行列级别的操纵,例如string、numeric和date/time 操作,并编码进行页面转化。这个组件封装了其它供应商可能会分解成许多不同转化的东西。
· 数据转换。在多种类型之间转换数据(例如numeric和string)。
· 审查。Audit. 用元数据和其它操作的审查数据添加字段。
除了这些主要的数据仓库转换,SSIS还包括对高级数据仓库需求的支持,例如缓慢变化维(SCD)。在SSIS中的SCD向导指导用户指定他们对管理缓慢变化维的需求,并且基于他们的输入,生成一个具有多转换的数据流来执行缓慢变化维加载。提供了对标准类型1和2SCD以及两个新的SCD类型(Fixed Attributes和Inferred Members)的支持。图4显示了一个SCD向导的页面。
图4
![]() |
| 图1 |
图5显示了这个向导产生的数据流。
图5
![]() |
| 图1 |
你还可以使用SSIS直接从数据流管道加载分析服务多维OLAP(MOLAP)缓存。这意味着你不只可以使用SSIS来创建关系型数据仓库,而且你还可以用它来加载多维立方体用来分析应用程序。



