找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

初学者课程:T3自学|T6自学|U8自学软件下载课件下载工具下载资料:通资料|U8资料|NC|培训|年结积分规则 | 使用常见问题Q&A
知识库:U8 | | NC | U9 | OA | 政务U8|U9|NCC|NC65|NC65客开|NCC客开新手必读 | 任务 | 快速增金币用友QQ群[微信群]
查看: 2571|回复: 2

[求助] Oracle支持主从数据库指定表实时同步有哪些解决方案?

[复制链接]
发表于 2022-10-8 17:08:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册账号

×
(1):  数据库同步复制产品PAC 6.0产品特性列表.  具体链接:

https://blog.51cto.com/u_4906716/855927
(2)触发器+dblinker
(3)DataGuard
(4)Oracle 同义词假同步。Oracle的同义词(synonyms)
(5)Kettle工具,开源ETL工具
(6)Debezium迁移和同步Oracle数据。链接地址:https://blog.csdn.net/fayeestone/article/details/120839873?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166521885816800182731014%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=166521885816800182731014&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-24-120839873-null-null.nonecase&utm_term=oracle%20%E8%A1%A8%20%E5%AE%9E%E6%97%B6%E5%90%8C%E6%AD%A5&spm=1018.2226.3001.4450
(7)
 楼主| 发表于 2022-10-8 18:04:50 | 显示全部楼层
CDC 是数据捕获变更的技术。广义上来说,但凡能够捕获数据变更的技术,都能被称为 CDC。但通常我们说的 CDC 技术主要面向数据库的变更。
CDC 的实现方式主要有两种,分别是基于查询和基于日志:

基于查询:查询后插入、更新到数据库即可,无须数据库的特殊配置以及账号权限。它的实时性基于查询频率决定,只能通过提高查询频率来保证实时性,而这必然会对 DB 造成巨大压力。此外,因为是基于查询,所以它无法捕获两次查询之间数据的变更记录,也就无法保证数据的一致性。
基于日志:通过实时消费数据的变更日志实现,因此实时性很高。而且不会对 DB 造成很大的影响,也能够保证数据的一致性,因为数据库会将所有数据的变动记录在变更日志中。通过对日志的消费,即可明确知道数据的变化过程。它的缺点是实现相对复杂,因为不同数据库的变动日志实现不一样,格式、开启方式以及特殊权限都不一样,需要针对每一种数据库做相应的适配开发。
img

正如 Flink 的宣言 “实时即未来”,在如今的大背景下,实时性是亟待解决的重要问题。因此,我们将主流 CDC 基于日志的技术做了对比,如上图所示:

数据源:Flink CDC 除了对传统的关系型数据库做到了很好的支持外,对文档型、NewSQL(TiDB、OceanBase) 等当下流行的数据库都能够支持;Debezium 对数据库的支持相对没有那么广泛,但是对主流的关系型数据库都做到了很好的支撑;Canal 和 OGG 只支持单一的数据源。
断点续传:四种技术都能够支持。
同步模式:除了 Canal 只支持增量,其他技术均支持全量 + 增量的方式。而全量 + 增量的方式意味着第一次上线时全量到增量的切换过程全部可以通过 CDC 技术实现,无须人为地通过全量的任务加上增量的 job 去实现全量 + 增量数据的读取。
活跃度:Flink CDC 拥有非常活跃的社区,资料丰富,官方也提供了详尽的教程以及快速上手教程;Debezium 社区也相当活跃,但资料大多是英文的;Canal 的用户基数特别大,资料也相对较多,但社区活跃度一般;OGG 是 Oracle 的大数据套件,需要付费,只有官方资料。
开发难度:Flink CDC 依靠 Flink SQL 和 Flink DataStream 两种开发模式,尤其是 Flink SQL,通过非常简单的 SQL 即可完成数据同步任务的开发,开发上手尤为简单;Debezium 需要自己解析采集到的数据变更日志进行单独处理,Canal 亦是如此。
运行环境依赖:Flink CDC 是以 Flink 作为引擎,Debezium通常是将 Kafka connector 作为运行容器;而 Canal 和 OGG 都是单独运行。
下游丰富程度:Flink CDC 依靠 Flink 非常活跃的周边以及丰富的生态,能够打通丰富的下游,对普通的关系型数据库以及大数据存储引擎 Iceberg、ClickHouse、Hudi 等都做了很好的支持;Debezium 有 Kafka JDBC connector, 支持 MySQL 、Oracle 、SqlServer;Canal 只能直接消费数据或将其输出到 MQ 中进行下游的消费; OGG 因为是官方套件,下游丰富程度不佳。


https://flink-learning.org.cn/ar ... cc30c69c406cb08b59a
回复 点赞 拍砖

使用道具 举报

发表于 2022-10-26 15:18:29 | 显示全部楼层
回复 点赞 拍砖

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-11-17 18:21 , Processed in 0.062763 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表