我在BI世界里真的很新,有些概念似乎被我误解了。
我正在阅读一些关于此的文章和书籍,它们充满了图形和流程,并没有在实践中讲述过程。
关于登台表和提取过程。
我知道在执行流程后需要删除暂存区域中的表。
考虑到这一点,想象一下对目标数据库进行初始完全提取的流程。然后,使用合并cdc,我需要识别源表中更新的内容。我的疑问在这里,我怎么知道自从我的表在目标上后更新了什么,并且已经删除了分段数据?
我需要将目标表的数据带到暂存区域然后进行合并吗?
答案 0 :(得分:0)
变更数据捕获(CDC)通常在源系统上完成,可以使用显式changed
字段(简单的布尔值或时间戳),也可以由底层数据库管理系统自动完成。
如果数据中有时间戳字段,则首先将初始加载到分段,记录检索到的最大时间戳,然后在下次更新时,只检索时间戳大于记录值的记录。如果源系统上没有真正的CDC功能,这是首选方法。
使用布尔字段比较棘手,因为源系统的所有插入和更新都必须将其设置为true
,在提取后,您必须将其重置为false
。