数据同步-数据库间的双向同步

article/2025/9/11 21:01:19

当业务侧需要MongoDB降配、活动数据迁移时都需要应用切换数据库实例进行发版,发版过程中需最大程度保证新旧数据库数据一致,这就涉及到了一种同步技术-数据双向同步。在同步过程中遇到了一些可能会产生问题或引发思考的点,希望利用这篇文档进行归纳总结。


一、双向同步能力

数据传输服务DTS(Data Transmission Service)支持两个MySQL数据库之间的双向数据实时同步,适用于异地多活(单元化)、数据异地容灾等多种应用场景。

二、双向同步功能

从业务视角看数据冲突场景

应用发版过程中,在很短的时间内对同记录执行insert和update操作,假设在A表执行insert操作,此时数据还未同步至B表,在B表执行了update操作,发现记录不存在,转为insert执行,产生了数据不一致。

同步id主键列是否会引发数据冲突?

会。主要还是由于在应用发版过程中同一数据操作时间间隔小于数据同步延迟时间所引发的冲突。

数据检查校验出来的不一致数据怎么处理?

通过数据校验确认源和目标库的差异数据,进行手动订正。

数据同步时是否可以只同步符合条件的数据?

可以。在全量阶段和增量阶段都支持对数据的过滤。

阿里云支持的数据冲突检测

  • INSERT导致的唯一性冲突

  • 同步INSERT语句时违背了唯一性约束,例如双向同步的两个节点同时或者在极为接近的时间INSERT某个主键值相同的记录,那么同步到对端时,会因为已经存在相同主键值的记录,导致Insert同步失败。

  • UPDATE更新的记录不完全匹配

  • UPDATE要更新的记录在同步目标实例中不存在时,DTS会自动转化为INSERT,此时可能会出现唯一键的唯一性冲突。

  • UPDATE要更新的记录出现主键或唯一键冲突。

  • DELETE对应的记录不存在

  • DELETE要删除的记录在同步的目标实例中不存在。出现这种冲突时,不论配置何种冲突修复策略,DTS都会自动忽略DELETE操作。

阿里云支持的冲突修复策略

  • TaskFailed(遇到冲突,任务报错退出)

  • 默认。当数据同步遇到上述冲突类型时,同步任务直接报错并退出,同步任务进入失败状态,需要用户介入修复任务。

  • Ignore(遇到冲突,直接使用目标实例中的冲突记录)

  • 当数据同步遇到上述的冲突类型时,直接跳过当前同步语句,继续往下执行,选择使用目标库中的冲突记录。

  • Overwrite(遇到冲突,直接覆盖目标实例中的冲突记录)

  • 当数据同步遇到上述的冲突类型时,直接覆盖目标库中的冲突记录。

这里在正向同步时一般选择 Overwrite,反向同步时选择 Ignore模式。 --以旧实例数据为准

三、同步流程说明

1、创建同步任务(最好提前一天创建 --与业务人员沟通同步规则)

2、待同步任务增量点位持平时,发起数据校验

3、业务人员根据数据校验出的问题数据进行原因定位,手工订正

4、应用发版

5、次日业务无异常,释放同步任务


http://chatgpt.dhexx.cn/article/GtqqKSjy.shtml

相关文章

什么是数据实时同步,为什么数据实时同步很重要

随着云成为前所未有的数据供应渠道,数据准确性、一致性和隐私性的重要性与日俱增。看似轻微的数据错误或故障可能会产生重大负面影响。但是,​对数据进行排序并将其与现有​,然后定期解析数据实时同步,同时保持数据完整性&#xf…

数据同步工具的研究(实时)

数据同步工具的研究(实时同步): FlinkCDC、Canal、Maxwell、Debezium ——2023年01月17日 ——Yahui Di 1. 常用CDC方案比较 2. FlinkCDC FlinkCDC的简介: Flink CDC 连接器是 Apache Flink 的一组源连接器,使用变…

聊聊数据同步

一、简述 数据同步,这是一个很宽泛的概念,在互联网或者传统软件公司,一定会遇到数据同步的场景。数据同步一般会遇到的问题诸如同步时延、数据一致性、性能低、强依赖于中间件、失败后无法补偿等。本文笔者试图简要总结下常见的数据同步场景&…

大数据的数据同步方式

一、全量覆盖 不需要分区,同步时直接覆盖插入。适用于数据不会有任何新增和变化的情况。比如地区、时间、性别等维度数据,不会变更或变更不影响业务,可以只保留最新值 二、仅新增同步 每天新增一个日期分区,同步并存储当天的新…

DataLink 数据同步平台

文章目录 一、数据同步平台概述核心能力工作原理详细流程 二、快速接入部署中间件程序配置创建数据库表启动应用注意事项 三、扩展:四种 CDC 方案比较优劣 一、数据同步平台 在项目开发中,经常需要将数据库数据同步到 ES、Redis 等其他平台,通…

数据同步之全量同步与增量同步

一、什么是数据同步 业务数据是数据仓库的重要数据来源,我们需要每日定时从业务数据库中抽取数据,传输到数据仓库中,之后再对数据进行分析统计。 为保证统计结果的正确性,需要保证数据仓库中的数据与业务数据库是同步的&#xff0…

你了解数据同步吗?

1.写在前面 本篇博客参考《操作系统实战 45 讲》 上篇博客主要介绍的是程序放在什么地方,开发操作系统要了解的最核心的硬件——CPU、MMU、Cache、内存,知道了它们的工作原理。在程序运行中,它们起到了至关重要的作用。 在开发我们自己的操…

数据库同步有哪些方式?【怎么保障目标和源数据一致性】

文章目录 摘要一、几种主流的数据库同步方式二、架构及工作原理三、全量同步和实时增量同步机制四、源和目标五、举例:Oracle 数据实时同步到 Elasticsearch六、目标和源数据一致性七、异构数据类型转换八、总结 摘要 数据库同步有3大难题: 1是如何保障…

数据技术篇之数据同步

第3章 数据同步 1.数据同步基础 直连同步 (1)什么是直连同步?直连同步是指通过定义好的规范接口 API 和基于动态链接库的方式直接连接业务库,如 ODBC/JDBC 等规定了统 一规范的标准接口,不同的数据库基于这套标准接口…

聊聊数据同步方案

文章目录 常用的数据同步方案数据库迁移场景数据同步场景应用代码中同步定时任务同步通过MQ实现同步通过CDC实现实时同步 CDC(change data capture,数据变更抓取)Canal基于日志增量订阅&消费支持的业务工作原理Mysql主备复制实现Canal架构…

大数据之路——数据同步

三、数据技术篇—— 数据同步 3.1 数据同步基础 3.1.1 直连同步3.1.2 数据文件同步3.1.3 数据库日志解析同步 3.2 数据仓库同步方式3.2.1 批量数据同步3.2.2 实时数据同步 3.3 同步遇到的问题3.3.1 分库分表3.3.2 增量全量同步的合并3.3.3 数据漂移的处理 有多种不同应用场景&…

关于数据同步的几种实现

关于数据同步的几种实现 概述 关于数据同步主要有两个层面的同步,一是通过后台程序编码实现数据同步,二是直接作用于数据库,在数据库层面实现数据的同步。通过程序编码实现数据同步,其主要的实现思路很容易理解,即有…

数据同步技术

本次旨在分享数据同步技术的相关知识点,包括数据同步概述、数据同步工具、数据库、数据同步到大数据平台。 首先来介绍一下数据同步的概念: 数据同步是为保持数据源与目的地数据一致性而进行的数据传输、处理的过程。 数据同步的场景: 1、主…

几种常见的数据同步方式

数据仓库的特性之一是集成,即首先把未经过加工处理的、不同来源的、不同形式的数据同步到ODS层,一般情况下,这些ODS层数据包括日志数据和业务DB数据。对于业务DB数据而言(比如存储在MySQL中),将数据采集并导入到数仓中(通常是Hive…

内网穿透frpc ,frps的使用

情况是这样的,公司内网中一个设备接了路由器下发的地址,内网地址是192.168.1.100,可以访问我的台式机,但我的台式机访问192.168.1.100是无法连通的 这种情况下,在我机器上运行frps.exe,frps.ini如下 [com…

Frp内网穿透——frps服务端部署

由于现在IPv4地址的短缺,在国内不可能每个设备都会分配到一个公网IP,因此从公网中访问自己的私有设备向来是一件难事儿。本次带大家了解一下frp内网穿透的服务端教学,让你也能够部署一个内网穿透服务。 frp简介 通俗的说,frp是一…

记一次使用frpc/frps进行内网穿透

1. 前提条件: 有一个公网ip,这里用x.x.x.x代替 2. 配置 【服务器端】 S_NUMBER是一个端口号 #服务端口 bind_port S_NUMBER #监听地址 bind_addr 0.0.0.0 #认证token token xxxx【客户端】(也就是需要被内网穿透的服务器) C_NUMBER是一个端口号 …

内网穿透神器Frps一键安装脚本及设置教程

frps 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。 *因为frps是go语言写的,所以在路由器上使用的时候&#…

frpc和frps 内网穿透越狱插件

内网穿透、frp、frpc、frps https://zhaoboy9692.github.io/repo 越狱源 https://zhaoboy9692.github.io/repo 苦于在ios越狱下没有frp穿透使用 特地开发了的越狱插件 基于最新frp0.48编译 ios14.6测试没问题 有问题及时反馈

使用frps和frpc实现内网穿透

内网穿透的作用包括跨网段访问一个局域网中的一台主机。 如上图,假设我们想要通过主机A访问主机C,但是主机A和主机C绑定的都是私有ip地址,所以它们之间是无法直接进行通信的。要想使得A和C能够进行通信,就需要用到内网穿透的技术。…