Transcript
Page 1: DAT 337 使用  SQL Server Integration Services  装载数据仓库

DAT 337DAT 337使用 使用 SQL Server SQL Server Integration Services Integration Services 装载装载数据仓库数据仓库

吕科吕科技术咨询顾问技术咨询顾问上海星移软件有限公司上海星移软件有限公司

Page 2: DAT 337 使用  SQL Server Integration Services  装载数据仓库
Page 3: DAT 337 使用  SQL Server Integration Services  装载数据仓库

从源系统中抽取数据从源系统中抽取数据 将数据转换为更适合将数据转换为更适合在 在 OLAP OLAP 系统中使用系统中使用的格式的格式 将数据装载到数据仓将数据装载到数据仓库或数据集市中 库或数据集市中

根据商业逻辑,对根据商业逻辑,对数据进行分析,以数据进行分析,以多维的形式展现数多维的形式展现数据据 通过数据挖掘发现通过数据挖掘发现深层次的信息深层次的信息

数据展现和发布数据展现和发布 报表的设计、管理报表的设计、管理和发布和发布

IntegrateIntegrate AnalyzeAnalyze Report Report

商业智能的平台商业智能的平台

Page 4: DAT 337 使用  SQL Server Integration Services  装载数据仓库

Integration Services Integration Services 简介 简介 新的 新的 SQL SQL Server Server 商业智商业智能应用程序能应用程序DTSDTS 的升级版的升级版本本新一代的高性能新一代的高性能数据整合平台数据整合平台

Page 5: DAT 337 使用  SQL Server Integration Services  装载数据仓库

SSIS OverviewSSIS Overview

Page 6: DAT 337 使用  SQL Server Integration Services  装载数据仓库

SSIS SSIS 能做什么?能做什么?

支持多种数据源,文本、支持多种数据源,文本、 Xml Xml 、、 OLE DBOLE DB 、 、 ODBCODBC支持复杂的数据转换流程,包括多路、循环、条件执行支持复杂的数据转换流程,包括多路、循环、条件执行数据可以按规则分发数据可以按规则分发强大的错误处理机制,强大的事件提醒功能强大的错误处理机制,强大的事件提醒功能支持多路输入及输出支持多路输入及输出

Page 7: DAT 337 使用  SQL Server Integration Services  装载数据仓库

聚合和排序聚合和排序数据转换的重要操作数据转换的重要操作在数据流中支持多种聚合函数在数据流中支持多种聚合函数

Group By, Sum, Count Distinct Group By, Sum, Count Distinct 等等在数据流中排序在数据流中排序SSIS SSIS 支持真正的 支持真正的 ETLETL ,不是 ,不是 ELTELT

聚合性能甚至超过数据库聚合性能甚至超过数据库

Page 8: DAT 337 使用  SQL Server Integration Services  装载数据仓库

关联关联清洗数据的重要操作清洗数据的重要操作LookupLookup

较大的事实表和较小的维度表,如分类维度较大的事实表和较小的维度表,如分类维度Merge JoinMerge Join

较大的事实表和较大的维度表,如客户维度较大的事实表和较大的维度表,如客户维度

Page 9: DAT 337 使用  SQL Server Integration Services  装载数据仓库

适应新的数据仓库架构适应新的数据仓库架构

在以往的场景中,只能够把数据原封不动的抽取到数据库服务器上在以往的场景中,只能够把数据原封不动的抽取到数据库服务器上由数据库来执行聚合、排序和其他操作由数据库来执行聚合、排序和其他操作影响用户访问的性能影响用户访问的性能这种解决方案就不适合于大容量的数据或复杂的逻辑这种解决方案就不适合于大容量的数据或复杂的逻辑

以往的数据仓库装载

Page 10: DAT 337 使用  SQL Server Integration Services  装载数据仓库

适应新的数据仓库架构适应新的数据仓库架构 (( 续续 ))

SSIS SSIS 抽取数据还是和以前一样抽取数据还是和以前一样但是,由 但是,由 SSIS SSIS 来执行聚合和排序操作,然后装载到数据库中来执行聚合和排序操作,然后装载到数据库中它释放了数据库服务器的压力,使其可用于用户查询它释放了数据库服务器的压力,使其可用于用户查询支持 支持 64 64 位的环境,可以更好的处理大数据量和复杂的逻辑位的环境,可以更好的处理大数据量和复杂的逻辑就算在 就算在 32 32 位 的环境下,也可以更好的分散服务器的压力位 的环境下,也可以更好的分散服务器的压力

使用 SSIS 装载数据仓库

Page 11: DAT 337 使用  SQL Server Integration Services  装载数据仓库

特殊的功能特殊的功能时间维的生成时间维的生成

通过 通过 Analysis ServicesAnalysis Services指定日期范围来生成纬度成员指定日期范围来生成纬度成员

Pivot Pivot 和和 Unpivot Unpivot 操作操作更多的功能更多的功能

Page 12: DAT 337 使用  SQL Server Integration Services  装载数据仓库

演示 演示 - UnPivot- UnPivot

CurrencyCurrency

GBPGBP

GBPGBP CADCAD EUREUR

0.66430.66430.40480.40481.00001.0000

CADCAD

EUREUR

1.64071.64072.47142.4714 1.00001.0000

1.50581.5058 0.61000.6100 1.00001.0000

GBPGBP

GBPGBP

From CurrencyFrom Currency To CurrencyTo Currency Exchange RateExchange Rate

Page 13: DAT 337 使用  SQL Server Integration Services  装载数据仓库

Core FeaturesCore Features

Page 14: DAT 337 使用  SQL Server Integration Services  装载数据仓库

数据清洗数据清洗Fuzzy lookupFuzzy lookup

模糊查找,找到最合适的匹配值模糊查找,找到最合适的匹配值Fuzzy duplicatesFuzzy duplicates

模糊分组,例如 模糊分组,例如 ““ Windows XP,” Windows XP,” “WinXP,”“WinXP,”

由微软中国研究院完成由微软中国研究院完成

Page 15: DAT 337 使用  SQL Server Integration Services  装载数据仓库

数据挖掘 数据挖掘 在 在 ETL ETL 过程中使用挖掘模型过程中使用挖掘模型

使用输入数据来训练挖掘模型使用输入数据来训练挖掘模型使用挖掘模型来处理数据使用挖掘模型来处理数据

基于模式的 基于模式的 data qualitydata quality使用挖掘模型来预测背离值使用挖掘模型来预测背离值

在运行时根据数据来选择最佳算法在运行时根据数据来选择最佳算法

Page 16: DAT 337 使用  SQL Server Integration Services  装载数据仓库

Data QualityData Quality

Page 17: DAT 337 使用  SQL Server Integration Services  装载数据仓库

Analysis ServicesAnalysis Services

设计时和运行时的集设计时和运行时的集成成Analysis Analysis Services Services 作为数据目的作为数据目的

Page 18: DAT 337 使用  SQL Server Integration Services  装载数据仓库

Analysis Services Analysis Services 集成集成

Page 19: DAT 337 使用  SQL Server Integration Services  装载数据仓库

装载到 装载到 Analysis ServicesAnalysis Services

Analysis services Analysis services 作为数据目的作为数据目的一步到位,不需要中间存储一步到位,不需要中间存储

以往以往二维数据二维数据 SQL ServerSQL Server ASAS

SSIS SSIS 二维数据二维数据 /XML/Web Service/…/XML/Web Service/… ASAS

Page 20: DAT 337 使用  SQL Server Integration Services  装载数据仓库

对对 Analysis ServicesAnalysis Services 进一步的进一步的支持支持Execute DDL taskExecute DDL task

就像执行 就像执行 SQL SQL 命令一样命令一样建立多维数据集、分区等建立多维数据集、分区等

共享的项目结构共享的项目结构一起管理 一起管理 AS AS 和 和 ETL ETL 项目(包括 项目(包括 RS RS 和 和 VSVS))只需一次定义数据源信息只需一次定义数据源信息

Page 21: DAT 337 使用  SQL Server Integration Services  装载数据仓库

缓慢变化维缓慢变化维自动建立一类和二类缓慢变化维自动建立一类和二类缓慢变化维Fixed AttributeFixed Attribute当改变是个错误当改变是个错误

Changing AttributeChanging Attribute不记录历史的更改,如名称不记录历史的更改,如名称

Historical AttributeHistorical Attribute记录历史痕迹的更改,如所属机构记录历史痕迹的更改,如所属机构会引发新增维度成员会引发新增维度成员

Inferred memberInferred member迟到的维度数据迟到的维度数据先装载事实数据先装载事实数据

Page 22: DAT 337 使用  SQL Server Integration Services  装载数据仓库

缓慢变化维缓慢变化维 (( 续续 ))

Business keyBusiness key来自于源数据的来自于源数据的 keykey

Surrogate key Surrogate key 可来自于其它字段可来自于其它字段通常是自动增长通常是自动增长

Page 23: DAT 337 使用  SQL Server Integration Services  装载数据仓库

缓慢变化维向导缓慢变化维向导

Page 24: DAT 337 使用  SQL Server Integration Services  装载数据仓库

其他的改变其他的改变SQL Task – SQL Task – 可执行存储过程和其他 可执行存储过程和其他 SQL SQL 语句语句可扩展性可扩展性

可以编写自己的 可以编写自己的 SSIS SSIS 组件组件可以在可以在 scriptscript任务中调用任务中调用 .NET .NET 代码代码

可调用性可调用性Web serviceWeb serviceXMLXML.NET.NET

Page 25: DAT 337 使用  SQL Server Integration Services  装载数据仓库

可靠性和可恢复性可靠性和可恢复性Error flows Error flows

在任务中处理错误数据在任务中处理错误数据Event handling Event handling

在执行包时响应事件在执行包时响应事件Package restart Package restart

设置失败的检查点设置失败的检查点

Page 26: DAT 337 使用  SQL Server Integration Services  装载数据仓库

操作操作日志记录日志记录丰富的丰富的 logging providerslogging providers ,如:文本、数据,如:文本、数据库、库、 XMLXML 、、 Windows event log Windows event log 或自定义的 或自定义的 log providerlog provider可以给单个或多个任务设置独立的日志可以给单个或多个任务设置独立的日志

性能监视器性能监视器整个生命周期的支持整个生命周期的支持运行时设置属性和变量运行时设置属性和变量可通过 可通过 XML, XML, 注册表注册表 , , 环境变量环境变量 , SQL , SQL 进行配置进行配置发布功能发布功能

Page 27: DAT 337 使用  SQL Server Integration Services  装载数据仓库

总结总结更快的速度!更快的速度!

以数据流的方式,能够高效的处理复杂的逻辑。以数据流的方式,能够高效的处理复杂的逻辑。更强的功能!更强的功能!

新增的新增的 Data flowData flow增加的增加的 TaskTask 和和 TransformationTransformation与其它微软与其它微软 BIBI产品的结合产品的结合

真正的真正的 ETLETL !!在流程中清洗数据在流程中清洗数据

Page 28: DAT 337 使用  SQL Server Integration Services  装载数据仓库

微软微软 SQL ServerSQL Server 社区社区microsoft.public.sqlserver.servermicrosoft.public.sqlserver.servermicrosoft.public.cn.sqlservermicrosoft.public.cn.sqlserver

我的社区 我的社区 http://www.dev-club.comhttp://www.dev-club.comhttp://http://blog.joycode.com/lukeblog.joycode.com/luke

中文 中文 SQL Server SQL Server 主页主页 : : http://www.microsoft.com/china/http://www.microsoft.com/china/sqlsql下一个会议下一个会议

DAT239DAT239 :: SQL Server 2005SQL Server 2005 数据仓库数据仓库新功能新功能

Page 29: DAT 337 使用  SQL Server Integration Services  装载数据仓库

其它英文资源其它英文资源http://msdn.microsoft.com/SQL/sqlhttp://msdn.microsoft.com/SQL/sqlwarehouse/SSIS/default.aspxwarehouse/SSIS/default.aspxhttp://www.sqlis.comhttp://www.sqlis.com

Page 30: DAT 337 使用  SQL Server Integration Services  装载数据仓库

问题问题什么是什么是 SQL Server Integration SQL Server Integration ServicesServices ??ETLETL 和和 ELTELT 相比有什么好处?相比有什么好处?和和 Analysis ServicesAnalysis Services 的集成带来什么好的集成带来什么好处?处?缓慢变化维有什么用处?缓慢变化维有什么用处?

Page 31: DAT 337 使用  SQL Server Integration Services  装载数据仓库