ssis - 获取维度键时在 SSIS 中加载事实表并不容易

标签 ssis data-warehouse business-intelligence

我有一个事实表,需要连接到维度表,但是从源数据获取该关系并不容易。事实表是从大约有一百万行的源表加载的,因此根据最佳实践,我使用以前的运行日期来仅选择自上次运行以来添加的源行。获取我想要加载的行后,我需要浏览其他 3 个表,以便能够查找维度表。这 3 个表中的每一个也都有大约一百万行。

我读到最佳实践表明不要提取您知道不需要的源数据。最佳实践还表明,对源系统进行尽可能轻的操作,从而避免 sql 连接。但就我而言,这两种最佳实践相互排斥。如果我只提取中间表中更改的行,那么我需要在源查询中进行联接。如果我从源系统中提取所有行,那么我提取的数据比我需要的多得多,这可能会导致 SSIS 内存/性能问题。

我倾向于加入源数据的提取,但我找不到任何关于该方法的优点和缺点的讨论。这是正确还是错误? (源表和DW表位于Oracle中)。

最佳答案

您可以暂存您引用的 3 个源表吗?您可能在 DW 中不需要它们,但您可以将它们存放在临时数据库中,纯粹是为了这个目的。然而,您仍然需要保持这些更新,但假设您可以取消更改,这可能还不错。

关于ssis - 获取维度键时在 SSIS 中加载事实表并不容易,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10451418/

相关文章:

sql - 使用 t-sql 进行透视转换

sql-server - Dts.Pipeline.ComponentVersionMismatchException - 脚本组件

asp.net - 如何使用SSIS将放置在azure存储容器中的文件提取到本地计算机

data-modeling - 星型架构、规范化维度、非规范化层级键

database - "bulk load"是什么意思?

centos7 - Apache Superset 安装问题

database - 从事务性平面数据库填充事实表和维度表的最佳实践

sql-server - 如何替换ssis包中的unicode字符

ssis - SSIS 中导致 "Invalid character value for cast specification"的日期数据

postgresql - 基于postgres数据库在数据仓库中实现继承的最佳方法