SSIS 初学者教程:什么是 Archi结构,封装
什么是 SSIS?
SQL Server 集成服务 (SSIS) 是 Microsoft SQL Server 数据库软件,可用于执行各种数据迁移任务。SSIS 是一种快速灵活的数据仓库工具,用于数据提取、加载和转换,如清理、聚合、合并数据等。
它使将数据从一个数据库移动到另一个数据库变得容易。SSIS 可以从各种来源提取数据,例如 SQL Server 数据库、Excel 文件、 Oracle 以及DB2数据库等
SSIS 还包括用于执行工作流功能(如发送电子邮件、FTP 操作、数据源和目的地)的图形工具和向导。
我们为什么使用 SSIS?
以下是使用 SSIS 工具的主要原因:
- SSIS 工具可帮助您合并来自各种数据存储的数据
- 自动化管理功能和数据加载
- 填充数据集市和数据仓库
- 帮助您清理和标准化数据
- 将 BI 构建到数据转换流程中
- 自动化管理功能和数据加载
- SIS 包含一个 GUI,可帮助用户轻松转换数据,而无需编写大型程序
- 它可以在几分钟内将数百万行从一个数据源加载到另一个数据源
- 识别、捕获和处理数据变化
- 协调数据维护、处理或分析
- SSIS 不再需要硬核程序员
- SSIS 提供强大的错误和事件处理
SSIS 的历史
在 SSIS 之前,使用的是 SQL Server 数据转换服务 (DTS),它是 SQL Server 7 和 2000 的一部分
版本 | Detail |
---|---|
SQL Server的2005的 | 波长 XNUMXμm 的 Microsoft 团队决定改造 DTS。但是,他们没有更新 DTS,而是决定将产品命名为 Integration Services (SSIS)。 |
2008 SQL 服务器版本 | SSIS 的性能得到了很大的提升。还引入了新的数据源。 |
SQL Server的2012的 | 这是 SSIS 最重要的版本。此版本引入了项目部署模型的概念。它允许将整个项目及其包部署到服务器,而不是部署特定的包。 |
SQL Server的2014的 | 在此版本中,对 SSIS 的更改不多。但添加了新的源或转换,这些是通过 Code 单独下载完成的Plex 或 SQL Server 功能包。 |
在SQL Server 2016中 | 该版本允许您部署整个项目,而不是单个包。有其他来源,尤其是云和大数据源,并且对目录做了一些更改。 |
SSIS 突出特点
以下是一些重要的 SSIS 基本功能:
- 工作室环境
- 相关数据集成功能
- 有效实施速度
- 与其他紧密集成 Microsoft SQL 系列
- 数据挖掘查询转换
- 模糊查找和分组转换
- 术语提取和术语查找转换
- 更高速的数据连接组件,例如连接到 SAP or Oracle
SSIS Archi质地
以下是 SSIS 架构的组件:
- 控制流(存储容器和任务)
- 数据流(源、目标、转换)
- 事件处理程序(发送消息、电子邮件)
- 包资源管理器(为包中的所有内容提供单一视图)
- 参数(用户交互)
让我们详细了解每个组件:
1. 控制流
控制流是 SSIS 包的大脑。它可以帮助您安排其所有组件的执行顺序。组件包含由优先约束管理的容器和任务。
2. 优先约束
优先约束是指示任务按预定义顺序执行的包组件。它还定义了整个 SSIS 包的工作流程。它通过根据先前任务的结果(使用特殊表达式定义的业务规则)执行目标任务来控制两个链接任务的执行。
3.任务
“任务”是一个单独的工作单元。它与编程语言中使用的方法/函数相同。然而,在 SSIS 中,您不使用编码方法。相反,您将使用拖放技术来设计界面并对其进行配置。
4。 集装箱
容器是将任务分组为工作单元的单元。除了提供视觉一致性之外,它还允许您声明应位于该特定容器范围内的变量和事件处理程序。
SSIS 中有四种类型的容器:
- 序列容器
- For 循环容器
- Foreach 循环容器
序列容器:允许您通过分组来组织子任务,并允许您应用事务或将日志记录分配给容器。
对于循环容器:提供与序列容器相同的功能,但它还允许您多次运行任务。但是,它基于评估条件,例如从 1 到 100 的循环。
对于每个循环容器: 它也允许循环。但不同之处在于,循环不是使用条件表达式,而是对一组对象(如文件夹中的文件)进行。
5. 数据流
SSIS 工具的主要用途是将数据提取到服务器的内存中,对其进行转换,然后将其写入另一个目的地。如果说控制流是大脑,那么数据流就是 SSIS 的心脏
6. SSIS 包
SSIS 的另一个核心组件是包的概念。它是按顺序执行的任务的集合。在这里,总裁约束有助于管理任务的执行顺序。
包可以帮助您将文件保存到 SQL服务器,位于 msdb 或包目录数据库中。它可以保存为 .dtsx 文件,这是一种结构化文件,与 Reporting Services 的 .rdl 文件非常相似。
7。 参量
参数的行为与变量非常相似,但有几个主要区别。它可以轻松地在包外设置。它可以被指定为包启动时必须传入的值。
SSIS 任务类型
在 SSIS 工具中,您可以添加任务来控制流程。有不同类型的任务可执行各种工作。
下面提到了一些重要的 SSIS 任务:
任务名称 | 描述 |
---|---|
执行 SQL 任务 | 顾名思义,它将针对关系数据库执行 SQL 语句。 |
数据流任务 | 此任务可以从一个或多个源读取数据。当数据位于内存中时对其进行转换,并将其写出到一个或多个目标。 |
分析服务处理任务 | 使用此任务来处理表格模型或 SSAS 多维数据集的对象。 |
执行包任务 | 用户可以使用此 SSIS 任务从同一个项目内执行其他包。 |
执行流程任务 | 借助此任务,您可以指定命令行参数。 |
文件系统任务 | 它在文件系统中执行操作。例如移动、重命名、删除文件和创建目录。 |
FTP 任务 | 它允许您执行基本的 FTP 功能。 |
脚本任务 | 这是一个空白任务。您可以编写执行任何您想要执行的任务的 NET 代码。 |
发送 Mail 任务 | 您可以发送电子邮件通知用户您的包已完成,或者发生了一些错误。 |
批量插入任务 | 可以使用批量插入命令将数据加载到表中。 |
脚本任务 | 运行一组 VB.NET 或 Visual Studio 环境中的 C# 编码。 |
Web 服务任务 | 它在 Web 服务上执行一种方法。 |
WMI 事件观察器任务 | 此任务允许 SSIS 包等待并响应某些 WMI 事件。 |
XML 任务 | 此任务可帮助您合并、拆分或重新格式化任何 XML 文件。 |
其他重要的 ETL 工具
- SAP 数据服务
- SAS 数据管理
- Oracle 仓库建造者 (OWB)
- PowerCenter 信息技术
- IBM Infosphere 信息服务器
- 用于数据 ETL 的 Elixir Repertoire
- 萨金特数据流
使用 SSIS 的优点和缺点
SSIS 工具具有以下优点:
- 广泛的文档和支持
- 实施的简易性和速度
- 与 SQL Server 紧密集成,并且 视觉工作室
- 标准化数据集成
- 提供实时、基于消息的功能
- 支持分销模式
- 帮助您消除网络作为 SSIS 向 SQL 插入数据的瓶颈
- SISS 允许您使用 SQL Server 目标而不是 OLE DB 来更快地加载数据
SSIS 的缺点
使用 SSIS 工具的一些缺点如下:
- 有时在非 Windows 环境中会产生问题
- 愿景和战略不明确
- SSIS 缺乏对其他数据集成样式的支持
- 与其他产品的集成存在问题
SSIS 最佳实践示例
- SSIS 是一个内存管道。因此,确保所有转换都发生在内存中非常重要
- 尽量减少记录的操作
- 通过了解资源利用率来规划容量
- 优化 SQL 查找转换、数据源和目标
- 正确安排和分配
总结
- SSIS 的全称是 SQL Server Integration Services
- SSIS 工具可帮助您合并来自各种数据存储的数据
- SQL Server Integration Service 的重要版本是 2005、2008、2012、2014 和 216
- 工作室环境、相关数据集成功能和有效的实施速度是 SSIS 的一些重要特性
- 控制流、数据流、事件处理程序、包资源管理器和参数是 SSIS 架构的基本组件
- 执行 SQL 任务、数据流任务、分析服务处理任务、执行包任务、执行进程任务、文件系统任务、FTP 任务、发送 Mail 任务、Web 服务任务是一些重要的
- 广泛的文档和支持
- SSIS 的最大缺点是它缺乏对其他数据集成样式的支持
- SAP 数据服务、SAS 数据管理、 Oracle 仓库构建器 (OWB)、PowerCenter Informatica、 IBM Infosphere 信息服务器
- SSIS 是一个内存管道。因此,确保所有转换都在内存中进行至关重要