有人使用SQL Server CDC做增量采集吗?不知道这种方案是否有潜在的问题?

0
  目前数据仓库的来源有很多,其中一个是MES,我们公司的MES是分布式部署的CS架构,他们有一个数据集中库,每天将各个工厂的数据同步到总部信息中心来,最近发现,某个工厂的数据到数据集中库经常性出现问题,然后就会有两三天前的数据,今天才同步过来的情况。
  数据仓库这边采用的是时间戳来做增量标识,但是以上的问题会导致数据仓库缺少数据,现在感觉整个MES的数据按时间来抽取很不安全,考虑采用CDC功能,是否有朋友有这样用过?比较担心会不会有抽取性能上的问题,以及其他问题等等,想就这个方案听听大家的意见,谢谢!
已邀请:
0

Bob - 同程旅游大数据+BI 架构师 2016-10-13 回答

CDC确实是一个不错的选择。
但是如果sql引擎内部每秒同时处理的事务数超过5000以上,则存在一些丢log的风险。当然这是在体量比较大的情况下,一般都是没有问题。
 
在实际使用过程中,建议关闭服务器中自动删除CDC log,在sql agent中可以找到这个自动运行 的job
因为自动删除是每隔几分钟,当你还在执行读取CDC日志的时候,可能会删除一些新解析的日志
 
cdc里面包含多个表值函数,例如根据时间获取日志序列号lsn,获取CDC解析后的数据等等。
 

要回复问题请先登录注册