【发布时间】:2015-08-13 11:56:46
【问题描述】:
在构建数据仓库时,我通常会看到 ETL 流程的两种主要方法:
1.视图 - 视图视图 - 视图视图 - ...
方法一显然是在数据库中,其优点是您没有那么多冗余数据,但可能会导致性能问题。
2。 stage table(数据副本)- clear table(数据副本)- dwh table(数据副本)- ...
方法二可以通过许多工具来完成,例如存储过程和作业,或者像 SSIS 这样的 ETL 工具。 这里的优点是很容易理解这个过程,因为你可以很好地可视化它。您通常还具有非常好的整体 ETL 性能和许多预定义任务等。 例如,一个问题可能是,由于必须更改持久表,因此流程的更改更加复杂。
在现实世界中,您通常会看到两者兼而有之,尤其是在很多人都参与过该流程的情况下。 当然,这也取决于具体情况(表的大小、该公司如何设计类似的流程、ETL 流程的复杂程度……)。
我个人更喜欢复制表,保持 ETL 过程简单,并尽可能在为此目的设计的 ETL 工具(在我的情况下通常是 SSIS)中做所有事情。
但最佳实践是什么?为什么?
【问题讨论】:
标签: sql view ssis etl data-warehouse