SSIS 暂存截断仓库

Posted

技术标签:

【中文标题】SSIS 暂存截断仓库【英文标题】:SSIS staging truncate warehouse 【发布时间】:2021-03-06 23:08:08 【问题描述】:

每天我们以 excel 格式获取数据,我们将数据加载到暂存中,然后转到 SSIS 包 并以excel作为连接管理器并执行转换并将数据移动到仓库。 既然我们只是从 excel 中获取数据,那么为什么要创建一个阶段并截断它, 既然我们以 excel 作为源代码,并且每个操作都在其中完成?有人可以请 解释实时场景?我看过很多网站,无法理解这个概念是什么 暂存,来源(excel),查找目标(仓库) 既然一切都只做 SSIS 包,为什么要创建到舞台?

【问题讨论】:

您的源 (Excel) 文件是否包含之前已加载到仓库中的数据行?基本上,您会根据 DW 中的行跟踪更改吗? Excel 根本不够可靠,无法直接插入决赛桌。事实上,这种情况很少发生——分期模式很常见 暂存环境还允许您将转换逻辑封装在存储过程中,无需更改 SSIS 包即可对其进行修改。这也降低了 SSIS 包的复杂性,只专注于导入数据和运行存储过程。在较大的项目中,使用这样的模式可以节省大量时间。 【参考方案1】:

暂存区主要用于快速从其数据源中提取数据,最大限度地减少源的影响。数据加载到暂存区后,暂存区用于组合来自多个数据源的数据、转换、验证、数据清理。

您可以使用staging design pattern:

增量负载 截断插入 使用带有 HashBytes 的分隔符进行更改检测

您可以了解Package design pattern for loading a data warehouse

【讨论】:

以上是关于SSIS 暂存截断仓库的主要内容,如果未能解决你的问题,请参考以下文章

SSIS 优化设计1:数据源的提取和使用暂存

员工维度在数据仓库中每天被截断

什么是临时表?

每晚数据库还原 - SSIS 包 - SQL Server 2005

git学习记录

Git创建本地仓库