阿里云DTS实施小记

本文涉及的产品
数据传输服务 DTS,数据同步 small 3个月
推荐场景:
数据库上云
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
简介:

       最近在XX客户现场进行了一次RDS数据库灾备实施,使用的是阿里云的数据传输服务。这里先简单介绍一下,数据传输(Data Transmission)是阿里云提供的一种支持RDBMS(关系型数据库)NoSQLOLAP等多种数据源之间数据交互的数据服务。它提供了数据迁移、实时数据订阅及数据实时同步等多种数据传输能力。通过数据传输可实现不停服数据迁移、数据异地灾备、跨境数据同步、缓存更新策略等多种业务应用场景,助您构建安全、可扩展、高可用的数据架构。

这次实施要使用的是DTS的数据同步功能,将生产RDS数据同步到另外一个可用区的RDS上。了解过DTS的朋友可能都会觉得比较简单,按部就班将DTS配起来然后进行同步不就得了吗。而事实上我的实施过程并没有那么顺利,下面给大家分享一下实施经验,以让大家以后尽可能地少饶坑。

因为同步的数据涉及到门店的会员数据和会员积分等,所以实施时间定在晚上10点。去到客户现场后,也不是说立刻就可以开干的。客户先等到10点半再开始购买DTS,核实了好几次DTS的规格和价格后终于在立即购买那里点击了鼠标。在同步数据之前我们和客户都认同需要对源RDS进行一次全备,在11点我们对源RDS实例进行物理备份(源RDS100G左右的数据量,物理备份这里等了40多分钟)。

       对源数据库备份完后,客户想在做数据同步作业之前先清空目标RDS,明明可以通过控制台删除数据库,但客户貌似对使用命令行操作有独特的信仰,于是我们创建了RDS的高级权限帐号,用该帐号连进去数据库里面,通过命令行清空了里面的库。这里科普一下,阿里云的DTS需要在目标RDS上创建同步帐号dtssyncwriter,因为创建了高级权限帐号,这个时候控制台无法回到原有使用控制台创建数据库和账号模式,需使用 SQL 命令创建数据库和账号,而事实上发现该帐号原本已存在了。到这里为止,准备工作都做了,接下来按照官方指引配完DTS,预检查并开始同步。

       好不容易等到同步完成了,客户发现有两个比较关注的表中多了10多条数据,我们问客户会不会可能在半夜还有新数据的写入?客户坚信门店都已经关门了,绝对不会有人员进店和资料更新的,然后就开始怀疑阿里云DTS是不是不可靠,是不是源和目标RDS会互相同步才导致了数据的增加。如果客户存在这种顾虑和疑问,我们应该绝对肯定的告知客户同步是单向的,不会动原始数据,而事实上当时我们也是这样告知客户的。

       还没开始去找多了数据的原因,这个时候来了个乌龙,客户发现刚才同步的这个目标RDS是经典网络的,而其余的RDS都是专有网络,这对后面的通信是有问题的,客户意识到自己选错了目标RDS,这意味着我们之前的工作又要重做了。

       客户的环境中还有另外一台目标RDS(专有网络)可用来做数据同步,这个RDS同样是之前使用过的,里面的数据已经没用了。客户对操作已经驾轻就熟了,于是直接重新配置了DTS并进行同步,在等待同步的过程中发现目标RDS上存在和源RDS同名的旧库,在同步之前忘记先删除掉了,更糟糕的是,这个时间刚好碰上源RDS那边正在做设定的计划任务的自动备份,无奈只能硬着头皮让它继续同步祈祷最后能同步成功,这个时候已经是凌晨4点。

       硬着头皮同步完,同样的,对比一下比较关注的两个表中的数据,发现目标RDS中只有几条数据,意味着同步不生效,可能的原因有两个,一个是在同步前没有先清空原有的同名旧数据库,另一个是因为当时源RDS正在做自动备份。

       洗了一把脸,再来一次。先直接通过控制台删除掉数据库,然后配置DTS,开始同步。这次同步完成后客户又对比了一下数据,发现源和目标RDS相比上次对比有多了一些数据,我们再次告诉客户请相信阿里云的DTS是单向同步的,除非是源RDS在半夜的时候仍然有新数据写入才导致数据增加的。

       虽然数据是增加了,在客户确认了源RDS和目标RDS两个比较关注的表中记录数是一致的之后,我们决定找出数据增长的原因,发现客户比较关注的两个表中都有createdtime这个字段,然后用sql命令查找createdtime001秒之后的记录,发现的确在凌晨是有新的数据写入,而且数量刚好就是之前对比得出的差值。终于舒了一口气。

最后总结一下,虽然DTS的技术点实施看起来比较简单,但是事实证明结合企业实际情况时也可能会变得复杂。另外,也建议大家在方案涉及的时候考虑风险点和应对措施,在实施前对相关技术了解清楚,在实施时要仔细、按序、彻底,在和客户交流过程中给予客户足够的信心。

 

相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
目录
相关文章
|
关系型数据库 MySQL 数据挖掘
阿里云 SelectDB 携手 DTS ,一键实现 TP 数据实时入仓
DTS 作为阿里云核心的数据交互引擎,以其高效的实时数据流处理能力和广泛的数据源兼容性,为用户构建了一个安全可靠、可扩展、高可用的数据架构桥梁。阿里云数据库 SelectDB 通过与 DTS 联合,为用户提供了简单、实时、极速且低成本的事务数据分析方案。用户可以通过 DTS 数据传输服务,一键将自建 MySQL / RDS MySQL / PolarDB for MySQL 数据库,迁移或同步至阿里云数据库 SelectDB 的实例中,帮助企业在短时间内完成数据迁移或同步,并即时获得深度洞察。
1398 3
阿里云 SelectDB 携手 DTS ,一键实现 TP 数据实时入仓
|
7月前
|
SQL 容灾 关系型数据库
阿里云DTS踩坑经验分享系列|DTS打通SQL Server数据通道能力介绍
SQL Server 以其卓越的易用性和丰富的软件生态系统,在数据库行业中占据了显著的市场份额。作为一款商业数据库,外部厂商在通过解析原生日志实现增量数据捕获上面临很大的挑战,DTS 在 SQL Sever 数据通道上深研多年,提供了多种模式以实现 SQL Server 增量数据捕获。用户可以通过 DTS 数据传输服务,一键打破自建 SQL Server、RDS SQL Server、Azure、AWS等他云 SQL Server 数据孤岛,实现 SQL Server 数据源的流动。
370 0
阿里云DTS踩坑经验分享系列|DTS打通SQL Server数据通道能力介绍
|
10月前
|
SQL 关系型数据库 MySQL
阿里云DTS踩坑经验分享系列|DTS SelectDB链路最佳实践
大数据时代背景下,高效的数据流转与实时分析能力对于企业的竞争力至关重要。阿里云数据传输服务DTS与SelectDB联合,为用户提供了简单、实时、极速且低成本的事务数据分析方案。用户可以通过 DTS 数据传输服务,一键将自建 MySQL/PostgreSQL、RDS MySQL/PostgreSQL、PolarDB for MySQL/PostgreSQL 数据库,迁移或同步至阿里云数据库 SelectDB 的实例中,帮助企业在短时间内完成数据迁移或同步,并即时获得深度洞察。
480 3
|
10月前
|
存储 数据采集 监控
阿里云DTS踩坑经验分享系列|SLS同步至ClickHouse集群
作为强大的日志服务引擎,SLS 积累了用户海量的数据。为了实现数据的自由流通,DTS 开发了以 SLS 为源的数据同步插件。目前,该插件已经支持将数据从 SLS 同步到 ClickHouse。通过这条高效的同步链路,客户不仅能够利用 SLS 卓越的数据采集和处理能力,还能够充分发挥 ClickHouse 在数据分析和查询性能方面的优势,帮助企业显著提高数据查询速度,同时有效降低存储成本,从而在数据驱动决策和资源优化配置上取得更大成效。
359 9
|
11月前
|
弹性计算 安全 容灾
阿里云DTS踩坑经验分享系列|使用VPC数据通道解决网络冲突问题
阿里云DTS作为数据世界高速传输通道的建造者,每周为您分享一个避坑技巧,助力数据之旅更加快捷、便利、安全。本文介绍如何使用VPC数据通道解决网络冲突问题。
391 0
|
NoSQL 安全 容灾
阿里云DTS踩坑经验分享系列|Redis迁移、同步
阿里云数据传输服务DTS在帮助用户迁移Redis数据、同步数据时,在某些复杂场景下会出现报错,或者源库与目标库数据不一致的问题,给用户带来困扰。本文介绍了DTS Redis到Redis迁移、同步过程中的典型问题,以帮助用户更好地使用DTS。
1008 2
|
SQL 运维 关系型数据库
阿里云DTS踩坑经验分享系列|数据不一致修复大法
阿里云数据传输服务DTS在帮助用户迁移数据、同步数据时,在某些复杂场景下会出现源库与目标库数据不一致的问题,造成数据错误,给用户带来困扰。由于数据不一致的问题很难完全避免,为了及时修复不一致的数据,DTS产品推出数据订正功能,保障用户在同步\迁移数据时的数据一致性。本文介绍了产生数据不一致的一些典型场景,并重点阐述了如何使用DTS数据订正功能来修复不一致的数据。
1018 4
|
SQL 负载均衡 安全
阿里云DTS踩坑经验分享系列|全量迁移加速方法指南
阿里云数据传输服务DTS是一个便捷、高效的数据迁移和数据同步服务。一般而言,一个完整的DTS数据迁移任务主要包括预检查、结构迁移,全量迁移,增量迁移等阶段,其中全量迁移会将源数据库的存量数据全部迁移到目标数据库。面对各种各样的用户场景, 本文将重点介绍如何使用阿里云DTS实现全量数据迁移加速,以缩短迁移时间,确保数据迁移的效率和稳定性。
1095 0
|
NoSQL 关系型数据库 数据库
数据传输服务DTS(Data Transmission Service)是阿里云提供的实时数据流服务
【2月更文挑战第29天】数据传输服务DTS(Data Transmission Service)是阿里云提供的实时数据流服务
290 5
|
关系型数据库 MySQL 数据库
使用阿里云的数据传输服务DTS(Data Transmission Service)进行MySQL 5.6到MySQL 8.0的迁移
【2月更文挑战第29天】使用阿里云的数据传输服务DTS(Data Transmission Service)进行MySQL 5.6到MySQL 8.0的迁移
492 2