首页 新闻 会员 周边

java实现两个数据库同步(表是一样的)

0
悬赏园豆:10 [已解决问题] 解决于 2017-05-16 10:02

例如:两个数据库中的相对应的A和B的主键是对应的,如果删除A表的一条数据,同步的时候如何让B张表也对应的删除那一条据(而不是根据B表又将那一条数据插入到A表中)

求大神给个思路啊!!

北丐的主页 北丐 | 初学一级 | 园豆:99
提问于:2016-12-20 09:20
< >
分享
最佳答案
0

一个问题问两次。。。

收获园豆:10
盟怀部孩 | 小虾三级 |园豆:878 | 2016-12-20 11:36

我只是想知道怎么判断应该插入还是删除

北丐 | 园豆:99 (初学一级) | 2016-12-20 11:38

@河流小鱼儿: 另一个问题有个人回答了,对操作进行记录,你写的时候,应该是没有统一处理的吧。如果写是独立写的,那么就是两个系统,为什么还要数据同步呢?如果是一个系统,为什么不做数据统一读写呢?

盟怀部孩 | 园豆:878 (小虾三级) | 2016-12-20 11:41
其他回答(3)
0

oracle数据库有一个关键字叫做rac

刘宏玺 | 园豆:14020 (专家六级) | 2016-12-20 09:42

大神,你能不能个i详细讲解一下,没接触过你说的RAC知识,谢谢

支持(0) 反对(0) 北丐 | 园豆:99 (初学一级) | 2016-12-20 09:50
0

消息队列,触发器

吴瑞祥 | 园豆:29449 (高人七级) | 2016-12-20 09:50

能不能,详细讲解一下怎么使用,谢谢

 

支持(0) 反对(0) 北丐 | 园豆:99 (初学一级) | 2016-12-20 09:51
0

看到你在做两个数据库之间的数据同步,表结构一样的情况下确实有很多方案可以选择。上面提到的几种方案都不错,如果想找一个更简单、更通用的方案,可以试试 SeaTunnel。

SeaTunnel 是一个开源的数据集成平台,在数据库同步场景下有几个优势:

  1. 配置简单
    通过配置文件就能定义数据同步任务,不需要写复杂的 Java 代码。比如从 MySQL 同步到另一个 MySQL,配置一下 source 和 sink 就能运行。

  2. 支持多种同步模式

  • 全量同步:适合初始化数据或定期全量刷新
  • 增量同步:基于时间戳或自增 ID 同步新增和修改的数据
  • CDC 模式:实时捕获数据库变更,实现秒级同步
  1. 支持多种数据库
    MySQL、Oracle、SQL Server、PostgreSQL 等主流数据库都支持,可以灵活选择源端和目标端。

  2. 性能好
    基于分布式引擎,可以并行处理数据,同步速度快。

  3. 支持断点续传
    任务中断后可以从上次的位置继续同步,不会重复同步数据。

基本使用流程:

  • 下载 SeaTunnel 安装包
  • 配置 source(源数据库)和 sink(目标数据库)
  • 运行任务

对于你这种两个数据库表结构一样的场景,SeaTunnel 配置起来非常简单,基本上改一下数据库连接信息就能用。

官网地址:https://seatunnel.apache.org 上面有详细的文档和配置示例,可以参考一下。

上面提到的方案各有优势,可以根据你的具体需求选择。如果你希望方案更通用、配置更简单,SeaTunnel 是个不错的选择。

数据攻城狮新生代 | 园豆:216 (菜鸟二级) | 2026-04-06 22:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册