天天看点

变化数据捕获方法

有时间戳、快照、触发器和日志四种。

  • 时间戳方法需要源系统有相应的数据列表示最后的数据变化。(弱点:要求业务系统的表必须一个可以标识新旧数据的字段)
  • 快照方法可以使用数据库系统自带的机制实现,如Oracle的物化视图技术,也可以自己实现相关逻辑,但会比较复杂。
  • 触发器是关系数据库系统具有的特性,源表上建立的触发器会在对该表执行insert、update、delete等语句时被触发,触发器中的逻辑用于捕获数据的变化。(优点:抽取性能高。缺点:需要业务表建立触发器,对业务系统有一定的影响。)
  • 日志可以使用应用日志或系统日志,这种方式对源系统不具有侵入性,但需要额外的日志解析工作。在对源表进行INSERT、UPDATE或 DELETE等操作的同时就可以提取数据,并且变化的数据被保存在数据库的变化表中。这样就可以捕获发生变化的数据,然后利用数据库视图以一种可控的方式提供给目标系统。