加入收藏 | 设为首页 | 会员中心 | 我要投稿 航空爱好网 (https://www.52kongjun.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

5分钟搞定 MySQL 到 MySQL "异构"数据在线迁移同步

发布时间:2022-11-03 14:30:40 所属栏目:MsSql教程 来源:未知
导读: 简述
MySQL 到 MySQL 在线同步不是一个新鲜话题了,但是面对数据源异构、高度产品化创建、并且稳定运行于在线严苛场景,需要做的工作会比一个单纯工具或者脚本多得多。本篇文章仅从功能角度

简述

MySQL 到 MySQL 在线同步不是一个新鲜话题了,但是面对数据源异构、高度产品化创建、并且稳定运行于在线严苛场景,需要做的工作会比一个单纯工具或者脚本多得多。本篇文章仅从功能角度介绍 CloudCanal 如何快速创建并运行此种数据链路。

技术点"异构" 和面临的问题

通常所说的数据库异构在于三个维度,相互可以组合,包括 两端数据库类型不同、表结构约束不一致 和 数据差异。后两者工作更多在于传统 ETL 领域的 Transform 范畴,在如今大数据 ODS 构建过程中被弱化(所谓 ELT),但是在在线业务领域仍然存在较多严苛需求(Streaming)。而前者对系统的架构和核心数据结构设计有诸多要求,这些要求来自于 增量数据获取方式多样、SQL 方言差异、约束差异、元数据差异、部署形态(如分布式)等问题的处理。

增量数据获取方式 如 ORACLE 的 redo 日志、物化视图,MySQL binlog 、Postgres WAL、MongoDB oplog等千差万别mssql数据库同步,如何快速增加源端数据库支持需要系统级设计和抽象,也是一个比较漫长的过程。

SQL 方言差异 如 RDB 分页差异(数据扫描)、写入冲突处理、大小写、表结构定义差异等。约束差异 如索引 owner 归属偏差、partition key/sharding key 和 PK/UK 的关系差异(如 GreenPlum 对唯一键的要求) 等。上述两个差异,对于纯粹数据迁移、同步影响较小,但是对于 DDL 同步、结构迁移存在巨大挑战(如 MySQL 到 Greenplum 需要对索引重命名、裁剪和 partition key 无关的 UK 等),在库、表、列映射、裁剪等情况下,更加复杂。

元数据差异 包括数据类型转换、db/schema/table/topic/tablespace/index(ES) 层次差异、partition key / sharding key 等结构支持、分布式数据库分片差异(如 MongoDB shard/replication set 结构和分布式数据库中间件 shard 的迁移同步架构统一),以及 big evil 以分布式数据中间件为源端的 DDL 同步。

但是今天,我们并不展开介绍 数据库类型不同 的数据迁移同步功能,而是介绍 MySQL 到 MySQL 在线数据迁移同步所面临的异构问题,更多是业务需求所产生的 表结构不一致 和 数据差异 ,其中包括库、表、列映射、裁剪 和 数据过滤。希望此篇文章能够让你在 5 分钟内搞定这个事情(环境 ready 的情况下)。

举个"栗子"准备 CloudCanal

SAAS 版参考 自建机器客户端安装 文章

社区版参考文章 docker安装 文章

数据库准备

我们有3个 MySQL 数据库,源实例上的库叫 drds_1 和 drds_2 ,目标实例上有 drds_merge 库, 其中源库里面有若干张表,并且存在一些测试数据,有些表正常迁移(worker_stats表), 有些表需要汇聚(shard_x表),有些表需要结构迁移(kbs_question),有些表有映射(shard_x表),有些表不同步(kbs_article表),有些表字段需要映射和裁剪(data_job)。接下来我们花 5 分钟时间来搞定这个事情,并且做一次数据校验。

造些数据

mssql数据库同步_mssql拖库脚本_mssql数据库同步工具

创建任务

mssql拖库脚本_mssql数据库同步_mssql数据库同步工具

mssql拖库脚本_mssql数据库同步工具_mssql数据库同步

mssql数据库同步_mssql拖库脚本_mssql数据库同步工具

mssql拖库脚本_mssql数据库同步工具_mssql数据库同步

mssql数据库同步_mssql数据库同步工具_mssql拖库脚本

mssql拖库脚本_mssql数据库同步工具_mssql数据库同步

mssql数据库同步_mssql数据库同步工具_mssql拖库脚本

任务运行数据校验总结

异构数据源的在线迁移和同步,此篇文章主要简单介绍了下功能,对于在线严苛场景而言,后续的监控告警、容灾、特殊数据处理、抗峰值、问题排查等都是重要工作。

在文末,贴一下我们社区版下载帖,欢迎下载并尝试我们的产品,快来构建属于你自己的在线数据任务吧。CloudCanal-免费好用的企业级数据同步工具,欢迎品鉴。了解产品可以查看官方网站: clougence.comCloudCanal社区:askcug.com/

(编辑:航空爱好网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!