标签: incremental-load

ETL:200个源数据库的抽取策略

每天将大约 200 个 SQL Server 2005 源数据库(相同架构)加载到暂存区以准备数据仓库清理、重复数据删除和转换的最佳提取策略是什么?

到目前为止,我已经设想了以下可能性:

  1. 事务复制:创建 200 个 SQL Server 2008 R2 订阅者,在 2005 年从各自的发布者那里提取数据。在订阅者和影子表中的所需表上启用变更数据捕获,以便对我们的临时数据库执行增量加载。
  2. Rowversion:在每个所需的源表上添加一个 rowversion 列,并将其与 SSIS 过程结合使用以将更改数据直接提取到临时数据库。
  3. BCP 文件:创建一个自动化任务,每晚从所有源表中转储 BCP 文件。使用 SSIS 将这些表作为完整加载(而不是增量加载)的一部分加载到临时数据库中。

额外的想法:

  1. 我对在 200 个数据库上支持全新事务复制拓扑所需的管理和硬件开销感到紧张。
  2. 数据库的总大小约为 100GB。但其中大部分是事务日志和其他表的一部分,不会在任何事实或维度中使用。换句话说,BCP 文件不会很大,这就是为什么我正在考虑完整的提取策略,即使我读过的所有内容都反对它。
  3. 我愿意接受建议、文件等。

replication data-warehouse sql-server etl incremental-load

2
推荐指数
1
解决办法
2225
查看次数