DTS 搬站的实战心得

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 传统的数据迁移一直是比较头疼的话题,可能需要停机做mysqldump,或者通过一些程序抓取写入到目标库,但这些程序往往缺少一个大规模的使用量,容易出现数据不一致的情况。 另外就是异构场景,即使像Oracle这种商业数据库有EXPDP 这些工具,但是异构场景,就没有用武之地了。

作者:马弓手三菜


传统的数据迁移一直是比较头疼的话题,可能需要停机做mysqldump,或者通过一些程序抓取写入到目标库,但这些程序往往缺少一个大规模的使用量,容易出现数据不一致的情况。


另外就是异构场景,即使像Oracle这种商业数据库有EXPDP 这些工具,但是异构场景,就没有用武之地了。


DTS 支持的迁移类型


数据源 结构迁移 全量迁移 增量迁移
Oracle->MySQL 支持 支持 支持
Oracle->RDS For PPAS 支持 支持 支持
Oracle->DRDS 不支持 支持 支持
Oracle->ADS 支持 支持 支持
Oracle->Oracle 支持 支持 支持
MySQL ->RDS For MySQL 支持 支持 支持
MySQL ->PostgreSQL 不支持 支持 支持
SQLServer->SQLServer 支持 支持 支持
PostgreSQL->PostgreSQL 支持 支持 支持
MongoDB -> MongoDB 支持 支持 支持
Redis -> Redis 支持 支持 支持
MySQL->DRDS 不支持 支持 支持
MySQL->PetaData 不支持 支持 支持
MySQL->OceanBase 支持 支持 支持
DB2->MySQL 支持 支持 支持


我们的DTS 主要分为 预检查、结构迁移、全量迁移、增量迁移几个阶段。


预检查,主要是检查连通性和账号权限,以及其他一些情况,比如是否有拓扑冲突。


结构迁移,主要是对表结构的DDL语句的迁移。 这里要注意下,增量迁移的过程目标实例最好不要用trigger,源库的触发器生成值,也会随binlog同步过来。


全量迁移,主要是基于SQL 查询,通过切片算法,分段把数据全量拉取过来。


如果需要增量更改的数据,那么就需要我们的增量迁移。 增量迁移是通过拉取源库的日志文件,如MySQL的binlog,sqlserver的LDF等,分析转储成适合目标实例的SQL语句,再增量并发写入到目标实例。


一、 云下机房上云迁移


https://help.aliyun.com/document_detail/26621.html?spm=a2c4g.11186623.6.601.cc2b3588wFTiPu


注意事项:


1) 权限


迁移类型 结构迁移 全量迁移 增量迁移
本地 MySQL 实例 select select super
select
replication slave
replication client
目标端 RDS for MySQL 实例 读写权限 读写权限 读写权限


2) 源库的binlog格式


binlog_format = row


binlog_row_image=full


3) 映射关系


DTS 迁移不能更改迁移对象,所以配置的时候,要选好映射关系


二、 云下机房和云上实例同步


https://help.aliyun.com/document_detail/66730.html?spm=a2c4g.11186623.6.631.571d2b32sICq3v


注意事项


1) 同步必须是内网,所以需要有专线、智能网关、VPN等,正确配置网络路由


关于专线的配置可以参考这篇


https://help.aliyun.com/document_detail/58143.html?spm=a2c4g.11186623.6.616.ccb169a7r7zrhq


2) 同步的其他配置和迁移类似,但是同步初始化完成后,可以更改同步对象


注意的是,每次更改后,需要等到新加入的对象同步初始化完成,才能进行下一次更改


3) 同步还支持双向同步,极大满足云上测试的前提。


https://help.aliyun.com/document_detail/56776.html?spm=a2c4g.11186623.6.627.6472636abYrkHY


双向同步需要注意的是,冲突策略,默认是冲突以后会中断


三、 其他云厂商的迁移与同步


https://help.aliyun.com/document_detail/52555.html?spm=a2c4g.11186623.6.596.cc2b3588wFTiPu


AWS


https://help.aliyun.com/document_detail/52904.html?spm=a2c4g.11186623.6.597.4f814a512mVENC


腾讯


需要注意的是,确认下其他云厂商的MySQL账号权限, 以及binlog的开放情况,如果能买到专线,速度也会更进一步。


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
存储 Cloud Native 关系型数据库
《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB PostgreSQL版功能演示(下)——一、功能演示1:通过DTS做数据同步
《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB PostgreSQL版功能演示(下)——一、功能演示1:通过DTS做数据同步
|
canal Kubernetes Cloud Native
2020实战复盘:如何从0到1搭建数据传输平台产品DTS?(二)
2020实战复盘:如何从0到1搭建数据传输平台产品DTS?(二)
583 0
2020实战复盘:如何从0到1搭建数据传输平台产品DTS?(二)
|
canal 消息中间件 监控
2020实战复盘:如何从0到1搭建数据传输平台产品DTS?(二)
2020实战复盘:如何从0到1搭建数据传输平台产品DTS?(二)
698 0
2020实战复盘:如何从0到1搭建数据传输平台产品DTS?(二)
【云吞铺子】数据库DTS搬站实践分享
好玩有趣的云计算知识系列视频!
|
5月前
|
关系型数据库 MySQL 数据挖掘
阿里云 SelectDB 携手 DTS ,一键实现 TP 数据实时入仓
DTS 作为阿里云核心的数据交互引擎,以其高效的实时数据流处理能力和广泛的数据源兼容性,为用户构建了一个安全可靠、可扩展、高可用的数据架构桥梁。阿里云数据库 SelectDB 通过与 DTS 联合,为用户提供了简单、实时、极速且低成本的事务数据分析方案。用户可以通过 DTS 数据传输服务,一键将自建 MySQL / RDS MySQL / PolarDB for MySQL 数据库,迁移或同步至阿里云数据库 SelectDB 的实例中,帮助企业在短时间内完成数据迁移或同步,并即时获得深度洞察。
阿里云 SelectDB 携手 DTS ,一键实现 TP 数据实时入仓
|
5月前
|
SQL 分布式计算 监控
在数据传输服务(DTS)中,要查看每个小时源端产生了多少条数据
【2月更文挑战第32天】在数据传输服务(DTS)中,要查看每个小时源端产生了多少条数据
61 6
|
5月前
DTS数据传输延迟可能有多种原因
【1月更文挑战第16天】【1月更文挑战第79篇】DTS数据传输延迟可能有多种原因
264 2
|
2月前
|
NoSQL MongoDB 数据库
DTS 的惊天挑战:迁移海量 MongoDB 数据时,捍卫数据准确完整的生死之战!
【8月更文挑战第7天】在数字化时代,大数据量的MongoDB迁移至关重要。DTS(数据传输服务)通过全面的数据评估、可靠的传输机制(如事务保证一致性)、异常处理(如回滚或重试),以及迁移后的数据校验来确保数据准确无损。DTS还处理数据转换与映射,即使面对不同数据库结构也能保持数据完整性,为企业提供可靠的数据迁移解决方案。
54 2
|
4月前
|
SQL 分布式计算 DataWorks
MaxCompute产品使用问题之dts是否支持传输数据到mc主键表2.0
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。