CDC概念和组成
ODI:Oracle Data Integrator
CDC概念:CDC全称Changed Data
Capture,顾名思义就是捕获变化的数据。
换句话说,这也可用于增量的ETL,否则的话,每次ETL都要进去全量抽取的话,效率必然极大的下降,实用性也不高。
CDC其实是增量抽取的概念,但在ODI中,却意味着ODI独特的增量抽取方法。
(事实上,ODI照样可以通过ETL工具通用的记录时间字段,流水号的最新值等方式来进行增量抽取)
至于ODI的CDC与通用方式的不同,接下来会谈到。
ODI的CDC由日志记录来推动,日志是CDC的一部分,用于记录在数据源上改变(insert、delete、update)的数据。
日志记录的方式有两种:
简单日志:记录单一数据源(比如说一张表格)的数据变化
一致性日志:记录的是一组数据源的数据变化。
日志的组成
日志记录机制包括四种要素Journals、Capture
processes、Subscribers、Journalizing views。
Journals:日志,存储变化的数据的地方,在关系型数据库中一般指的就是表格。
Capture
processes:捕获进程,用来捕获数据源上的数据变化并写入Journals中,通常指的就是触发器;也可用数据源上可用的专门的捕获程序(例如支持从数据源服务器log获取数据的程序)。
Subscribers:订阅者,通常是ODI元资料库的条目,记录的是需要使用CDC数据的使用者;只有所有的订阅者都使用了CDC数据后,日志内容才能被清除。
Journalizing
views:日志查看程序,可用于查看日志内的数据内容,并且可获取CDC数据以支持ODI将新数据写入目标数据存储中。