新老系统数据同步方案

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
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个服务,每个服务都在变更数据,需要做大量的业务代码更改
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
11月前
|
消息中间件 大数据 Kafka
多云与混合云场景下的数据同步方案-KAFKA
多云与混合云场景下的数据同步方案-KAFKA
|
canal 消息中间件 关系型数据库
系统重构数据同步利器之Canal实战篇
系统重构数据同步利器之Canal实战篇
451 1
|
canal 监控 负载均衡
秃头也要学习的微服务进阶场景实战:基于Bifrost的数据同步方案
技术选型 项目组决定找一个开源中间件,它需要满足以下5点要求。 1)支持实时同步。 2)支持增量同步。 3)不用写业务逻辑。 4)支持MySQL之间的同步。 5)活跃度高。
|
4月前
|
供应链 中间件
SAP CRM 和 ERP 系统之间的主数据同步 - PRODUCT_R3_ADAPTER
SAP CRM 和 ERP 系统之间的主数据同步 - PRODUCT_R3_ADAPTER
|
2月前
|
运维 DataWorks 安全
DataWorks产品使用合集之在进行数据同步时,如何处理源系统表名不固定的情况
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
4月前
|
canal 消息中间件 关系型数据库
【分布式技术专题】「分布式技术架构」MySQL数据同步到Elasticsearch之N种方案解析,实现高效数据同步
【分布式技术专题】「分布式技术架构」MySQL数据同步到Elasticsearch之N种方案解析,实现高效数据同步
247 0
|
11月前
|
关系型数据库 MySQL Java
对比下 datax 的 OceanBase/MYSQL 不同数据同步方案的效率差异 || 聊聊参数 rewriteBatchedStatements
对比下 datax 的 OceanBase/MYSQL 不同数据同步方案的效率差异 || 聊聊参数 rewriteBatchedStatements
|
4月前
|
canal 监控 关系型数据库
【技术选型】Mysql和ES数据同步方案汇总
【技术选型】Mysql和ES数据同步方案汇总
255 0
【技术选型】Mysql和ES数据同步方案汇总
|
算法 Linux
Linux系统【文件传输】rsync命令 – 远程数据同步工具
rsync命令来自于英文词组“remote sync”的缩写,其功能是用于远程数据同步。rsync命令能够基于网络(含局域网和互联网)快速的实现多台主机间的文件同步工作,并与scp或ftp发送完整文件不同,rsync有独立的文件内容差异算法,会在传送前对两个文件进行比较,只传送两者内容间的差异部分,因此速度更快。
181 2
|
关系型数据库 MySQL 数据库
数据同步系统
数据同步系统
129 2

热门文章

最新文章