新老系统数据同步方案

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 新老系统朴素数据同步方案

最近业务涉及老系统重构需求,新老系统需要并行运行一段时间,给用户一个过渡期。由于新系统和老系统的数据表结构无法兼容,所以无法直接使用老系统的数据库,只能重新设计。那么就需要保持新老业务系统之间数据必须是同步的。

问题来了,怎么让两个业务系统的数据能够尽可能保持实时同步?

目前想到了4个方案:

  1. 双库MySQL bin-log监听
  2. 双库建立触发器
  3. 数据库上层封装数据查询API
  4. 业务系统操作实时通知

各个业务方案有什么优缺点?

1. 双库MySQL bin-log监听

监听MySQL bin-log 方式,实时将记录变更同步到双库。

优点:

  • 不侵入业务系统
  • 同步速度快
  • 独立设计开发

缺点:

  • 开发难度大,要熟悉MySQL Replication 协议
  • 依赖MySQL数据库版本
  • MySQL Binlog 三种模式,需要确定一种模式
  • 识别业务复杂

2. 双库建立触发器

对所有数据库表增加触发器,有变更则将所有变更记录添加到变更表。

优点:

  • 可以实时记录所有变更

缺点:

  • 对一个具有上百张表的数据库创建触发器,增加维护复杂度
  • 触发器违反了公司的数据库规约

3. 数据库上层封装数据查询API

增加对所有表/业务查询的API封装,一条条来对比数据变更。

优点:

  • 开发及其简单

缺点:

  • 实时性根本无从谈起
  • 速度无法保证。单张表数据千万级,一页页查询要猴年马月去了

4. 业务系统操作实时通知

业务层将事件通知到业务系统

优点:

  • 业务识别明确

缺点:

  • 老系统N个服务,每个服务都在变更数据,需要做大量的业务代码更改
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
消息中间件 大数据 Kafka
多云与混合云场景下的数据同步方案-KAFKA
多云与混合云场景下的数据同步方案-KAFKA
|
canal 消息中间件 关系型数据库
系统重构数据同步利器之Canal实战篇
系统重构数据同步利器之Canal实战篇
1200 1
|
canal 监控 负载均衡
秃头也要学习的微服务进阶场景实战:基于Bifrost的数据同步方案
技术选型 项目组决定找一个开源中间件,它需要满足以下5点要求。 1)支持实时同步。 2)支持增量同步。 3)不用写业务逻辑。 4)支持MySQL之间的同步。 5)活跃度高。
|
4月前
|
监控 安全 API
电商系统数据同步——电商API接口篇
电商系统中,数据同步是保障业务高效运转与优化用户体验的核心环节,而API接口作为关键技术起着至关重要的作用。本文从API基础解析、应用场景(如商品信息、订单、库存、支付与物流同步)、技术实现路径、挑战与应对策略及最佳实践等方面深入剖析电商API接口在数据同步中的作用,并通过亚马逊、阿里巴巴等实战案例展示其应用价值。
|
5月前
|
存储 监控 安全
无需云服务器、无需公网IP,轻松实现门禁系统远程接入与数据同步
智慧园区门禁管理中,贝锐花生壳提供高效解决方案。通过内网穿透技术,无需公网IP即可集中管理多区域门禁系统,保障数据安全传输。采用RSA与AES混合加密,支持权限精细化控制及多维度监控,简单三步实现远程访问,助力园区智慧安全管理升级。
189 7
|
运维 DataWorks 安全
DataWorks产品使用合集之在进行数据同步时,如何处理源系统表名不固定的情况
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
关系型数据库 MySQL Java
对比下 datax 的 OceanBase/MYSQL 不同数据同步方案的效率差异 || 聊聊参数 rewriteBatchedStatements
对比下 datax 的 OceanBase/MYSQL 不同数据同步方案的效率差异 || 聊聊参数 rewriteBatchedStatements
|
canal 消息中间件 关系型数据库
【分布式技术专题】「分布式技术架构」MySQL数据同步到Elasticsearch之N种方案解析,实现高效数据同步
【分布式技术专题】「分布式技术架构」MySQL数据同步到Elasticsearch之N种方案解析,实现高效数据同步
491 0
|
canal 监控 关系型数据库
【技术选型】Mysql和ES数据同步方案汇总
【技术选型】Mysql和ES数据同步方案汇总
688 0
【技术选型】Mysql和ES数据同步方案汇总
|
算法 Linux
Linux系统【文件传输】rsync命令 – 远程数据同步工具
rsync命令来自于英文词组“remote sync”的缩写,其功能是用于远程数据同步。rsync命令能够基于网络(含局域网和互联网)快速的实现多台主机间的文件同步工作,并与scp或ftp发送完整文件不同,rsync有独立的文件内容差异算法,会在传送前对两个文件进行比较,只传送两者内容间的差异部分,因此速度更快。
445 2