2017-03-31 17 views
1

我使用SSIS2012。我在我的数据仓库中创建了三个模式(STG,TRSF,DW)。我们是否应该在我们的解决方案中的几个项目之间分开ssis包?

STG模式用于登台表。我所有的源文件都是CSV文件。我将数据从我的源传输到stg模式中的每个表。我有一个单独的包为每个表(例如:如果我有20个CSV文件,我将有20个包,我将在STG架构中填充20个表)

之后,我将stg架构转移到trsf架构。在这些过程中,我有我的事业。我会查找FK,其他业务规则将应用于此级别。如果我在stg模式中有20个表,我将拥有20个包,并且我将在trsf模式中填充20个表。

第三步我将数据从trsf模式转移到dw模式。这里我也有20个包。

最后,我将有20个包,用于清理stg架构中的表。

我为csv文件和dw模式中的表之间的每个转换创建了4个包。

我想知道为每个步骤创建4个独立的项目是否好主意?因为现在,我在一个项目中有80个软件包,并且它可以成长得更多。

+0

个人而言,我会继续我的包在一起,但如果它导致的问题对你来说,它们分离出来。 – Rich

+1

这里最重要的是组织。只要你知道你的软件包做什么,并且可以控制它们执行的顺序;我会说其余的并不重要。无关;如果每个模式都有20个表,那么这是否意味着最终的dw表看起来很像原始数据?如果你没有[转换你的数据](https://en.wikipedia.org/wiki/Data_transformation),trsf和dw模式是不是带来了什么? –

+0

@ destination-data:我很感谢你的回答。我只是在谈论维度表。我对事实表进行了改造。我有几个SQL作业。这些是按顺序执行4个包的4个步骤。 (Staging/TRSF/DW/Cleanning) –

回答

0

我会保持项目在一起。但是为了将它们分开,我将为Landing,Staging和Data Warehouse保留单独的父作业。而且您可以通过主母公司的工作来控制这些Parent工作。这会让您自由地独立运行各个阶段。

另一个建议,我建议你在不同的数据库中分隔着陆,分段和数据仓库。相信我,从长远来看它会对你有所帮助。

干杯 尼西

+0

我的问题是关于项目中包的数量。在我的项目中,有80多个包裹,未来会增加。你有什么想法将它们分开吗? –

+1

嗨Ardalan我们使用命名约定来分离包。例如:'101_Extract_Source_System_Name','600_Fact_Business_Activity'。由于我们在软件包名称中使用了数字,因此我们可以订购软件包。然而,在SSIS 2012中,当你最初打开包时,这些包都是混乱的,你可以在VS的项目级别对它们进行排序。当你部署他们时,他们将始终保持数字的顺序。 –

相关问题