我目前正在开发SSIS包,用于从OLTP系统到驻留在不同服务器上的报告数据库的表(40个表现在和预期在不久的将来将增加)的连续增量数据负载。
请求是两个源之间的实时数据同步。
我应该继续使用常规的SSIS ->暂存->合并路由来继续并测试它,还是应该研究实现CDC。考虑到所涉及的表数,这会比普通的旧ETL更快吗?
发布于 2018-10-17 21:44:01
CDC并没有取代SSIS的->分期->合并路由,它只是使SSIS部分更容易-- ETL的提取。疾病预防控制中心使这更容易,这是它设计的用例之一。对于每一个更改,您都会在更改前后得到行的副本,您可以抓住它,然后清理它。
它确实有一些在你开始之前不太明显的问题。让我大吃一惊的两大变化是:
它也没有提供任何方法来完成数据的完全同步,它只是一个加法。
我不认为回答这个问题是不可能的,答案(经常是这样)是“视情况而定”。不过,这绝对值得调查。
还要注意的是,CDC只在企业版中提供到SQL2016 SP1 (当它在所有版本中都可用时)。
发布于 2018-10-17 20:53:47
您考虑过事务性复制吗?在我看来,这将是最好的选择,以较少的行政管理费用。
这样,您就可以在实际的实时中获得DB,并且可以相对容易地修改,以便在将来包含更多的表。
https://dba.stackexchange.com/questions/220397
复制相似问题