dts同步常见问题_阿里云DTS数据同步常见问题(一)

阿里云的数据同步工具DTS确实是一件非常不错的工具,可以实现不同数据源之间的数据迁移、数据同步,只需要配置好两端的数据源就可以自动实现,不在需要人为的操作,非常的方便。

但是如果不熟悉DTS的话呢,会遇到各种各样的问题,接下来我会用几篇文章介绍一下我在实际使用中遇到的一些问题。

最近我在工作中遇到的一个使用DTS的场景是这样的,实现阿里公有云和阿里专有云(飞天)之间的数据同步(关于公有云和专有云之间的网络打通会在另外的文章里进行介绍),因为有一些业务要从公有云上迁移到专有云上,在保证业务不中断的前提下,我们采用DTS同步来实现两朵云上的数据的一致性。

具体操作步骤如下:购买一个DTS同步作业,它有预付费模式即包年包月,也有后付费模式即按量付费,因为我们要同步的数据量比较大,而且还需要有一个持续过程,因此我们采用了包年包月的方式。

购买完成之后,我们就可以开始配置我们的同步作业,因为我们购买的是DTS双向同步,因此我们需要先配置正向的同步作业,等正向的同步作业进入到同步中状态以后,才能进行反向同步作业的配置。我们配置好源端和目标端的数据源之后,就开始预检查并启动。

进入到预检查并启动的环节,DTS服务会检测源端和目标端数据库是否能正常连通,检测通过后,就开始进行数据同步了。在同步开始之前,会进行全量表结构和数据的创建(相当于数据迁移),之后才会进行数据同步;

因为公有云上的数据量比较大,整个同步耗时了差不多三天的时间才完成了全量迁移,之后才进入到增量数据同步环节,基本上延迟都在几毫秒。

在来说问题,因为DTS配置好了,就没有去管它了,想着都是自动进行的,应该不会遇到什么问题,结果过了几天登录阿里云的控制台,看到DTS同步作业列表里,正向的同步的延迟高达218253002毫秒!!换算成时间是2.52天!相当于专有云上的数据是公有云3天前的数据!

于是赶紧提了个工单,好在阿里后台的技术小哥回复的还蛮及时的,原因有两个:同步的对象里有热点表;

目标库的磁盘空间不足80%;

可能大家会问了,啥叫热点表,确实在网上也搜不到太多关于热点表的含义,通过与阿里后台小哥的沟通,就是说我们同步的对象里某一个表在短时间内有特别频繁的写操作,在加上我本来要同步的数据库和表也比较多,因此产生了比较高的延迟。所以,我们就把其中一个热点表从同步的对象里移除出去了。

另外一个原因是因为目标库的磁盘空间问题,这个真的是一个坑,因为想着共有云上大概就1个T的容量,因此在专有云上的RDS就开了个1.2T的磁盘空间,已近比较大了,结果DTS它就只认百分比的容量,因此又紧急扩容了200G,保证磁盘空间使用率低于80%。

通过解决以上两个问题,同步的延迟逐步开始下降了,需要一段时间去消耗掉未同步的数据部分,下图是同步延时的变化曲线图,下降的幅度还是很明显的。同步延时变化曲线图

所以写到这里,大家在使用DTS同步数据的时候,需要注意以下两点:注意一下同步的对象里是否有热点表,该热点表是否可以先不用同步?

目标数据库的磁盘空间尽量预留多一些,保证磁盘空间的使用率低于80%

在补充一点,没事还是要去阿里云控制台瞅瞅,可以及早发现问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/498038.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

暂时

/*** 使HTML的标签失去作用* * param input* 被操作的字符串* return String*/public static final String escapeHTMLTag(String input) {if (input null) {input "";return input;}input input.trim().replaceAll("&", "&&qu…

mysql的程序怎么升级成mysqli_如何将mysql更改为mysqli?-问答-阿里云开发者社区-阿里云...

首先要做的可能是将每个mysql_函数调用都替换为等效函数mysqli_,至少在您愿意使用过程式API的情况下-考虑到您已经有一些基于MySQL API的代码,这将是更简单的方法是一种程序性的。为了解决这个问题,“ MySQLi扩展功能摘要”绝对是有用的。例如…

待完成任务列表

1、将 HT 控件全部对象化。 a、抽象出 print 方法 b、使用构建器模式控制参数:部分是必须在创建对象时给定,部分是可以给定也可以使用默认值。 2、开发——小助手,工具 a、要对“名称定义”、“单元测试”进行,添加,编…

mysql插入实现存在更新_mysql 记录不存在时插入 记录存在则更新的实现方法

mysql 记录不存在时插入在 MySQL 中,插入(insert)一条记录很简单,但是一些特殊应用,在插入记录前,需要检查这条记录是否已经存在,只有当记录不存在时才执行插入操作,本文介绍的就是这个问题的解决方案。问题…

阿里智能对话交互实践与创新

来源:人工智能头条 作者 :孙健,李永彬,陈海青,邱明辉 概要:过去 20 多年,互联网及移动互联网将人类带到了一个全新的时代,如果用一个词来总结和概括这个时代的话,「连接」…

HT 相关

设置系统语言——日语测试用 解决方案 按照以下说明将系统语言环境更改为您所需的语言: 更改 Windows XP、Vista 和 Windows 7 的系统位置 注:必须以具有管理权限的用户身份登录。 单击开始 > 控制面板。 Windows 7 和 Vista:依次单击…

IDC Future Scape : 2018年全球物联网十大趋势性预测,5G将加速IoT发展

作者:Dudu 概要:预计到2021年前后,5G、物联网数据分析、物联网支出管理、区块链、物联网服务将成为市场主流。 2019年,IoT行业中,边缘基础设施将成为市场主流,多用于单个部门的业务板块中。 到了2020年&am…

mysql 解释 游标赋值_Mysql_游标

MySQL中的游标是一个十分重要的概念。游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。MySQL中的游标的语法如下:DECLARE cursor-name CURSOR FOR…

意见征集,世界AI智商评测量标准2018年新版讨论方案

来源:未来智能实验室 对于本次2018年世界AI智商评测的量表更新 ,有两个问题希望得到您的意见:1.如果按上述智力因素进行增加,您认为他们的权重应该是多少,其他已有的智力因素权重应该调整为多少;2.您认为考…

mysql查看system函数_mysql系统信息函数

1、VERSION() 返回数据库的版本号SELECT VERSION() -- 5.0.67-community-nt2、CONNECTION_ID() 返回服务器的连接数SELECT CONNECTION_ID() -- 33、DATABASE()、SCHEMA 返回当前数据库名4、USER()、SYSTEM_USER()、SESSION_USER()、CURRENT_USER()、CURRENT_USER 返回当前用户S…

chm文件大不开

1、如果提示是:如果提示是Internet Explorer 不能链接到您请求的网页或者打开后“页面无法显示”。请下载chm.reg,执行。或在要打开的CHM文件上右键属性,会在底下属性中多了一个“解除锁定”,点击后就可以正常显示了。 chm.reg内容…

人工智能的价值地图:AI产业增强革命的模式与路径

来源:腾讯研究院 概要:人工智能所蕴含的力量让人向往又恐惧。2016年的两次人机大战第一次让公众认识到人工智能的强大力量。 “智造”并不是一个新词,几年前,我们可以看到数字技术从虚拟世界向实体世界渗透。3D打印、激光切割等一…

怎样打开mysql进程数_mysql查看最大打开进程数

今天在群里刚刚知道这个查看打开最大进程数的命令,下面来看一下吧~ cat /proc/27095/limits | grep Max open files 查看mysql最大打开进程数的命令 我们应该如何知道那个标黄的进程呢,想起来前几天刚刚学过的命令了吗,对的,就是l…

jsp 页面获取action 属性的方法

1、代码法 <%ValueStack valueStack (ValueStack)request.getAttribute("struts.valueStack");String[] books (String[])valueStack.findValue("books");for(String book : books){%><tr><td>BookName:</td><td><%boo…

那么多GAN哪个好?谷歌大脑泼来冷水:都和原版差不多

来源&#xff1a;量子位 概要&#xff1a;从2014年诞生至今&#xff0c;生成对抗网络&#xff08;GAN&#xff09;热度只增不减&#xff0c;各种各样的变体层出不穷。 从2014年诞生至今&#xff0c;生成对抗网络&#xff08;GAN&#xff09;热度只增不减&#xff0c;各种各样的…

java 中获取file的长度为0_Java核心技术梳理-IO

一、引言IO(输入/输出)&#xff0c;输入是指允许程序读取外部数据(包括来自磁盘、光盘等存储设备的数据)、用户输入数据。输出是指允许程序记录运行状态&#xff0c;将程序数据输出到磁盘、光盘等存储设备中。IO的主要内容包括输入、输出两种IO流&#xff0c;这两种流中又分为字…

Exception 和解决办法

1、 org.xml.sax.SAXParseException: The string "--" is not permitted within comments. 从错误描述来看发现是&#xff38;&#xff2d;&#xff2c;文件中的注释引起的异常&#xff0c;去掉配置文件中的中文注释或改用英文描述则可以通过后来发现是配置文件中采…

福布斯:2018年将改变世界的九股科技大趋势

来源&#xff1a;咕噜网 概要&#xff1a;2018年又会有哪些重要科技趋势会改变世界呢&#xff1f;《福布斯》杂志今天发表文章&#xff0c;公布了将会在明年及日后改变世界的9股科技大趋势。 据《福布斯》杂志北京时间12月4日报道&#xff0c;2017年即将结束。这一年&#xff0…

linux 备份mysql并上传_linux备份数据库并上传至远程服务器(定时执行shell进行ftp上传)...

#start shell 脚本#!/bin/bash#定义备份数据库时使用的用户名和密码db_user"root"db_passwd"111111"#定义FTP服务器地址、用户名、密码、目录ftp_url113.108.8.80ftp_userftpuserftp_passwd111111ftp_dir/mysql_backup/xxxx#数据库备份的路径backup_dir/ho…

BigDecimal 运用示例 与 DecimalFormat

代码&#xff1a; BigDecimal bd new BigDecimal( "99.11" );System.out.println( "scale" bd.scale() );System.out.println(bd);bd new BigDecimal( 5526 );bd bd.divide( new BigDecimal (1000) );System.out.println( "scale" bd.scale…