a.触发器:
在要抽取的表上建立需要的触发器,一般要建立插入、修改、删除三个触发器,每当源表中的数据
发生变化,就被相应的触发器将变化的数据写入一个临时表,抽取线程从临时表中抽取数据,临时表中抽取过的数据被标记或删除。触发器方式的优点是数据抽取的
性能较高,缺点是要求业务表建立触发器,对业务系统有一定的影响。
b.时间戳:
它是一种基于快照比较的变化数据捕获方式,在源表上增加一个时间戳字段,系统中更新修改表数
据的时候,同时修改时间戳字段的值。当进行数据抽取时,通过比较系统时间与时间戳字段的值来决定抽取哪些数据。有的数据库的时间戳支持自动更新,即表的其
它字段的数据发生改变时,自动更新时间戳字段的值。有的数据库不支持时间戳的自动更新,这就要求业务系统在更新业务数据时,手工更新时间戳字段。同触发器
方式一样,时间戳方式的性能也比较好,数据抽取相对清楚简单,但对业务系统也有很大的倾入性(加入额外的时间戳字段),特别是对不支持时间戳的自动更新的
数据库,还要求业务系统进行额外的更新时间戳操作。另外,无法捕获对时间戳以前数据的delete和update操作,在数据准确性上受到了一定的限制。
c.全表比对:
典型的全表比对的方式是采用MD5校验码。ETL工具事先为要抽取的表建立一个结构类似的MD5临时表,该临时表记录源表主键以及根据所有字段的数据计算
出来的MD5校验码。每次进行数据抽取时,对源表和MD5临时表进行MD5校验码的比对,从而决定源表中的数据是新增、修改还是删除,同时更新MD5校验
码。MD5方式的优点是对源系统的倾入性较小(仅需要建立一个MD5临时表),但缺点也是显而易见的,与触发器和时间戳方式中的主动通知不同,MD5方式
是被动的进行全表数据的比对,性能较差。当表中没有主键或唯一列且含有重复记录时,MD5方式的准确性较差。
d.日志对比:
通过分析数据库自身的日志来判断变化的数据。Oracle的改变数据捕获(CDC,Changed Data
Capture)技术是这方面的代表。CDC特性是在Oracle9i数据库中引入的。CDC能够帮助你识别从上次抽取之后发生变化的数据。利用CDC,
在对源表进行insert、update或delete等操作的同时就可以提取数据,并且变化的数据被保存在数据库的变化表中。这样就可以捕获发生变化的
数据,然后利用数据库视图以一种可控的方式提供给目标系统。CDC体系结构基于发布者/订阅者模型。发布者捕捉变化数据并提供给订阅者。订阅者使用从发布
者那里获得的变化数据。通常,CDC系统拥有一个发布者和多个订阅者。发布者首先需要识别捕获变化数据所需的源表。然后,它捕捉变化的数据并将其保存在特
别创建的变化表中。它还使订阅者能够控制对变化数据的访问。订阅者需要清楚自己感兴趣的是哪些变化数据。一个订阅者可能不会对发布者发布的所有数据都感兴
趣。订阅者需要创建一个订阅者视图来访问经发布者授权可以访问的变化数据。CDC分为同步模式和异步模式,同步模式实时的捕获变化数据并存储到变化表中,
发布者与订阅都位于同一数据库中。异步模式则是基于Oracle的流复制技术。
相关推荐
cdc技术分析文章,基于flink-cdc做监控数据源的实时变更数据捕获。该文从基础定义、使用场景、分析、实际使用流程、源码分析、常见问题及解决方式等几个方向讲解了这个技术栈。如果公司有要使用搜索方案,涉及到业务...
照着做绝对能用的教程,本人亲自测试过,欢迎下载
Debezium是一个开源项目,为捕获数据更改(change data capture,CDC)提供了一个低延迟的流式处理平台。你可以安装并且配置Debezium去监控你的数据库,然后你的应用就可以消费对数据库的每一个行级别(row-level)的更改...
基于oracle CDC增量捕获数据,抽取数据,达到增量铺货数据
oracle变化数据捕获,学习和理解如何在ORACLE数据库跟踪数据变化的教程
介绍的 CDC 组件(Change Data Capture 改变数据捕获)。 CDC 特性是在 Oracle9i 数据库中引入的。CDC 能够帮助你识别从上次提取之后发生 变化的数据。利用 CDC,在对源表进行 INSERT、UPDATE 或 DELETE 等操作的同时...
主要内容包括数据仓库的设计与建造步骤,传统系统到数据仓库的迁移,数据仓库的数据粒度、数据分割、元数据管理、外部数据与非结构化数据,分布式数据仓库、高级管理人员信息系统和数据仓库的设计评审等。...
主要内容包括数据仓库的设计与建造步骤,传统系统到数据仓库的迁移,数据仓库的数据粒度、数据分割、元数据管理、外部数据与非结构化数据,分布式数据仓库、高级管理人员信息系统和数据仓库的设计评审等。...
8.1 数据仓库中的外部数据/非结构化数据 157 8.2 元数据和外部数据 158 8.3 存储外部数据/非结构化数据 159 8.4 外部数据/非结构化数据的不同 组成部分 160 8.5 建模与外部数据/非结构化数据 160 8.6 间接报告 161 ...
8.1 数据仓库中的外部数据/非结构化数据 157 8.2 元数据和外部数据 158 8.3 存储外部数据/非结构化数据 159 8.4 外部数据/非结构化数据的不同 组成部分 160 8.5 建模与外部数据/非结构化数据 160 8.6 间接报告 161 ...
北邮计网实验二网络层数据分组的捕获与解析实验报告完整版
SQL Server 2008的更改数据捕获:崭新的异步CDC解决方案能够提高性能.pdf
8.1 数据仓库中的外部数据/非结构化数据 157 8.2 元数据和外部数据 158 8.3 存储外部数据/非结构化数据 159 8.4 外部数据/非结构化数据的不同 组成部分 160 8.5 建模与外部数据/非结构化数据 160 8.6 间接报告 161 ...
8.1 数据仓库中的外部数据/非结构化数据 157 8.2 元数据和外部数据 158 8.3 存储外部数据/非结构化数据 159 8.4 外部数据/非结构化数据的不同 组成部分 160 8.5 建模与外部数据/非结构化数据 160 8.6 间接报告 161 ...
CDC:Change Data Capture 代码如下:–步骤:本文中以GPOSDB为例 –第一步、对目标库显式启用CDC:–在当前库使用sys.sp_cdc_enable_db。返回0(成功)或1(失败)。–注意,无法对系统数据库和分发数据库启用该功能...
Flink CDC是一种基于Flink的Change Data Capture(CDC)工具,用于实现数据库之间的实时数据同步。在这个场景中,我们将使用Flink CDC来实现MySQL到PostgreSQL的实时数据同步。 首先,我们需要配置源数据库和目标...
8.1 数据仓库中的外部数据/非结构化数据 157 8.2 元数据和外部数据 158 8.3 存储外部数据/非结构化数据 159 8.4 外部数据/非结构化数据的不同 组成部分 160 8.5 建模与外部数据/非结构化数据 160 8.6 ...
自从SQLServer2008引入了数据变更捕获功能(后面简称为CDC)后,解决了很多烦恼问题,如客户2个月前更改了一个数据,但是由于服务器空间不足,经常只能保留一个月的备份。此时客户为了逃避因为更改数据带来的较大...
很实用的串口数据捕获工具,用于查看串口协议
主要内容包括数据仓库的设计与建造步骤,传统系统到数据仓库的迁移,数据仓库的数据粒度、数据分割、元数据管理、外部数据与非结构化数据,分布式数据仓库、高级管理人员信息系统和数据仓库的设计评审等。...