TIDB数据库连续性及迁移问题

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
请教个问题:
问题一,分布式的集群如何保障业务连续性,看文档是有多实例的(是指多副本吗?),如果TIDB这种分布式数据库,是否需要对哪些重要的文件做个备份?如果备份推荐使用什么工具?多实例之间,如果某个实例坏掉,是否需要手工干预,还是自己修复好?
问题二,迁移问题
我看到文档几种迁移工具都提到上游和下游,也就是说这些工具都是只能支持在线迁移吗?必须上游与下游互联才能迁移吗?有否像RMAN或EXP/impdp,或者mysqldump这样的工具?

问题三,我看TIDB与MYSQL协议兼容,是否要吧理解为,MYSQL工具比如MYSQLDUMP,MYSQL客户端,在TIDB也适用,那么直接使用这些客户端安装上去,工具是否也可用?

无论是什么数据库,备份都是必须的吧

1.分布式数据库 出问题的可能性比集中式 低,不代表不需要灾备。
2.迁移工具很全。建议先看官网文档。3.可以和mysql客户端兼容。

需要人工干预

问题一 tidb默认是3副本,就是数据存3份到不同tikv上。备份用br+日志,还可以ticdc实时同步到下游。某个实例不影响业务运行,如果可能的话数据库会自己恢复,否则需要人工处理。

问题二 上游下游 指的在线同步数据或者做数据迁移。mysql同步到tidb用dm工具,tidb同步到下游(mysql tidb kafka等)用ticdc工具。 类似rman或者exp等工具,tidb自带的是br物理备份和dumpling逻辑备份

问题三 MYSQL客户端可以直接用,MYSQLDUMP这些被dumpling取代了,新版本直接用MYSQLDUMP可能有兼容问题。

2 个赞

业务连续性,应该指tidb所有节点都是高可用的,规划多个tdserver,tikv,td等

这些文档都有
物理备份和逻辑备份
MySQL 客户端工具一般是兼容的

好好看看培训视频,你的疑问基本都能得到答案

备份是必须的,你上下游都是啥数据库

1.需要备份tiup中控机下的相关集群拓扑文件(以防中控机宕机无法从其他机器集中处理),以及TIDB集群本身数据需要备份。
2.上下游迁移有DM\TICDC工具, 需要保证工具和上下游能够联通
3.MySQL客户端是监控的, 但是mysqldump备份太慢, 可以用dumpling或BR物理备份

MySQL客户端是兼容的

问题二的迁移,一般情况下我理解说的是增量数据的同步迁移,上游数据库新产生的数据会实时地同步到下游数据库,所以这里面需要保证上游和下游实例是在线的,并且考虑到网络环境的话,需要保证上下游实例之间的网络是已经被打通的。
问题三的话,mysql和tidb的sql协议确实是互通的,比如一个sql语句,在mysql能跑的话,在tidb也能跑,但是生态工具方面,mysql自有的mysqldump是不支持在tidb使用的,因为mysqldump的逻辑备份原理是加全局锁,然后读数据快照;而tidb的方式是不加全局锁,直接通过设置tidb_snapshot系统变量的方式去直接获取到某个时间戳下的数据快照(这块和tidb数据的mvcc相关,可以了解一下tidb的mvcc原理)

1 个赞

1.所有的数据库涉及生产都需要人为干涉备份虽然本身具备了高可用
2.上下游迁移有DM\TICDC工具, 需要保证工具和上下游能够联通或者其他的工具你可以测试一下比如cc ,datax啥的
3.他只是兼容mysql协议可以jdbc或者客户端啥的连接和大部分sql语句的支持,注意不支持存储过程,涉及到的要避免

还没看到,这块出现在哪个视频课程里呢?

是的打算测试一下

文档部分有,但我以前学一种新数据库习惯看视频的比较少,都是翻文档

嗯呢,文档会更详细些,也会根据自己的进度来

问题一,分布式数据库通过高可用的部署方式,来保障业务的连续性。如你说的多副本其实也就是高可用吧。备份是常规运维需要做的事情,不管集中式还是分布式都是一样。TIDB 很注重运维效率,备份恢复工具,参考相关章节即可。关于自动修复还是手工修复,大部分情况下是自动的,但是不排除个别情况下需要手工介入,所以做好备份很重要。

问题三,虽然协议上兼容,但是建议还是使用原厂提供的工具,这样麻烦少一点