【问题标题】:SSIS 2012 incremental load for 200-300 tables200-300 个表的 SSIS 2012 增量负载
【发布时间】:2013-02-10 16:59:33
【问题描述】:

我的项目在 2 个月前开始,我已经将运行的每个流程的 100 多个表传输到数据仓库。

我可能很快就会达到 200-300 张桌子,但我不相信我目前的开发方法会扩展。

我还有 3 周的版本(产品开发冲刺),并且表仍在改变它们的结构(数据类型、列名、新列等),这让我很头疼,所以我在最初的几周里忽略了它.

我怎么忽略了它?

  1. 在我将它们带到 ODS(操作数据存储)/MRR 层之前截断所有表
  2. 将所有数据从源系统完全带到 MRR 层
  3. 仅创建维度“增量”表(每周仍会随着新列和数据类型的变化而变化)
  4. 动态创建和填充临时表和仓库表。

现在我的模型已经开始形成,所以我必须处理增量负载

  1. 这似乎很容易,因为我对每条记录都有更新时间,但我的源系统中也有删除,我该如何处理?
  2. 我考虑过 CDC,但这会很费时间,因为我必须逐个表格地放置它
  3. 对于从 100-200 桌开始的人有什么解决方案吗?

【问题讨论】:

  • 敏捷方法如何允许基本的设计更改?因为这就是您在这里所面临的——大量的后端开发对用户来说是不可见的。我从未在我见过的敏捷项目中看到过这个问题。

标签: ssis


【解决方案1】:

我尽可能长时间地遵循类似于您的“忽略它”设计的风格。完全刷新使您的设计保持敏捷,并且可以达到每分钟 100 万行的速度。

当这最终用完并且源系统中存在删除时,我会按照与数据专家的约定在某个日期范围(例如 3 个月)内删除我的所有数据。您可能必须将该删除分成块,例如日复一日。我也尝试完全刷新这些数据,例如每个周末(数据专家经常被误导)。

【讨论】:

  • 感谢 Mike,很遗憾,由于这是 OEM,我们无法让真正的“数据专家”批准任何错误的数据。并且系统分析师总是希望在两端都坚持下去,让一切始终保持开启并始终“尽可能”更新(如果您知道我的意思,不允许任何“不可能”的事情......):)我想我会的必须去 CDC 进行删除,我希望有人会创建这种自动化来为我执行 ODS 层.. 简单得多,但我想我必须付钱给他.. :) 再次感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-26
  • 2015-04-22
  • 1970-01-01
  • 1970-01-01
  • 2020-07-21
相关资源
最近更新 更多