Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SSIS ETL—让目标数据库直接从源中提取数据是一种好的做法吗_Sql Server_Ssis_Etl_Ssis 2012 - Fatal编程技术网

Sql server SSIS ETL—让目标数据库直接从源中提取数据是一种好的做法吗

Sql server SSIS ETL—让目标数据库直接从源中提取数据是一种好的做法吗,sql-server,ssis,etl,ssis-2012,Sql Server,Ssis,Etl,Ssis 2012,我有一个ETL包,它将数据从多个源SQL Server DB移动到单个目标SQL Server DB。所有这些数据库都在同一台服务器上。目标数据库包含大量引用源数据库的视图。例如,从SourceDB1.dbo.Transactions中选择* 因此,大部分数据直接进入源数据库=>目标数据库,而不经过SSIS服务器。我是SSIS新手,不知道这是否是一件好事,或者我应该考虑改变流程。当我开始学习使用SSIS进行ETL和数据迁移时,我总是被告知,最好先将数据移动到暂存数据库中,在那里可以验证数据、消除

我有一个ETL包,它将数据从多个源SQL Server DB移动到单个目标SQL Server DB。所有这些数据库都在同一台服务器上。目标数据库包含大量引用源数据库的视图。例如,
从SourceDB1.dbo.Transactions中选择*


因此,大部分数据直接进入
源数据库=>目标数据库
,而不经过SSIS服务器。我是SSIS新手,不知道这是否是一件好事,或者我应该考虑改变流程。

当我开始学习使用SSIS进行ETL和数据迁移时,我总是被告知,最好先将数据移动到暂存数据库中,在那里可以验证数据、消除重复数据,清理其中的etc,然后将其移动到目标DB

当我开始学习使用SSIS进行ETL和数据迁移时,我总是被告知,最佳做法是首先将数据移动到暂存数据库中,您可以在其中验证数据、消除重复、清理等,然后随着时间的推移将其移动到目标DB

,你的公司在成长。您站在Server2上,并在那里安装了SourceDBN。现在怎么办?您的
SELECT*FROM SourceDB.dbo.Transactions
模式中断

SourceDB27,该客户向我们支付了很多钱,因此他们要求我们将列
FooBitsWhatsIt
添加到他们的事务表中。现在您的
SELECT*
中断,因为您的生态系统中有不一致的列

有人编写了一个需要一段时间才能处理的大型查询—目标数据库中的人员对源数据库执行常规活动的能力产生了负面影响。如果数据被复制到目的地,而不仅仅是被引用,那么源活动和目的地活动之间就会存在隔离


一般来说,上述成本和风险超过了额外的开发、存储和处理成本。

随着时间的推移,您的公司将不断发展壮大。您站在Server2上,并在那里安装了SourceDBN。现在怎么办?您的
SELECT*FROM SourceDB.dbo.Transactions
模式中断

SourceDB27,该客户向我们支付了很多钱,因此他们要求我们将列
FooBitsWhatsIt
添加到他们的事务表中。现在您的
SELECT*
中断,因为您的生态系统中有不一致的列

有人编写了一个需要一段时间才能处理的大型查询—目标数据库中的人员对源数据库执行常规活动的能力产生了负面影响。如果数据被复制到目的地,而不仅仅是被引用,那么源活动和目的地活动之间就会存在隔离


一般来说,上述成本和风险超过了额外的开发、存储和处理成本。

我不会有问题。我不会有问题。