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 Archi质地
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 文件非常相似。

SSIS 包

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 是一个内存管道。因此,确保所有转换都在内存中进行至关重要