SSIS以及ETL介绍
ETL的选择
- SSIS
- 导入和导出工具
- T-SQL
- BCP实用工具
- 复制
什么是SSIS
SSIS是SQLServer的一个组件,作为SQLServer最重要的ETL操作平台,包含了控制流引擎和数据流引擎。SSIS最小的但是是包(package),包可以单独部署。比包更大的是SSIS项目,一个项目可以包含多个包,项目可以部署到SSIS Catalog。SQLServer 2000版本的DTS包不能直接升级到package,SQLServer 2005 以及以后的版本都可以使用向导升级工具来生成新版本的包。
浏览源数据
为什么要浏览源数据
- 理解业务数据
- 业务数据需要展现的内容是什么
- 怎样注释业务值和代码
- 业务实体之间的关系
- 检查源数据
- 数据的数据类型以及长度
- 数据的大小以及疏散程度
- 数据质量问题
实施数据流
链接管理器(connection manager)
- 能链接到一个数据源或者数据目标
- 桥接器(ADO.NET,OLE DB,等)
- 连接字符串
- 验证
- 项目级别或者是包的级别
- 项目级别的管理器
- 可以供项目内所有的对象使用
- 在解决方案浏览器里面显示
- 包级别的管理器
- 供包内的对象使用
- 只在包内显示
数据流
在大多数的SSIS包中,数据流都是最重要的环节。在数据流中,我们可以对数据进行转换,清洗以及加载。大致可以分为6类处理
- 行的转换
- 行组的转换
- 分割和连接转换
- 审计
- 数据清洗
- 自定义操作
优化数据流的效率
- 优化查询
- 仅查询需要的行和列
- 避免不必要的排序
- 尽量使用已排序的数据
- 把IsSorted属性设置为可用
- 配置控件属性
- 缓存的大小
- 临时文件储存
- 并行
- 优化模式