AskTUG Weekly (20200330-20200405)DM 数据同步若干问题,如何根据分析结果打散热点,TiDB 备份恢复方式你知多少?

问答

Q1【TiDB】: TiDB 升级 3.0.12 后,Leader 数量迁移明显,有大量 notleader 报错,请问是什么原因呢?查看详情:TiDB 升级 3.0.12 后,Leader 迁移明显,有大量 notleader 报错,写入也很慢

Q2【DM】:DM 同步速度非常慢,延迟达到好几个小时,主库的写入压力并不是非常大,麻烦看一下是不是 task 参数文件有问题。另外我打开监控之后,replicate lag显示有问题

查看详情:DM 同步延迟问题

Q3【DM】:公司断网之后,发现上游主从切换之后,DM 同步任务失败;而上游非主从的,则可以自己自动恢复同步,请问是什么原因呢?查看详情:DM 同步上游主从 MySQL 时,是否可以只指定一台,不用管上游主从切换

Q4【分区】:分区表查询指定分区和非分区字段的 where 条件之后,分区选择不生效。

以下 SQL:SELECT * FROM r PARTITION(p1) WHERE filtered = 1;

其中 r 是分区表,查询的时候同时指定了分区和 where 条件,上面的查询会把其他分区下的 “filtered = 1” 的数据查出来,而其实 p1 分区下没有 “filtered = 1” 的数据。查看详情:分区表查询分区选择 partition 不生效的 bug

Q5【Lightning】:在配置 tidb-lightning 导入数据时,库里已经建了空表,打算以 csv 的方式导入,报表不存在。请问是什么原因导致的呢?查看详情:tidb-lightning 导入数据报表不存在

Q6【热点】:TiDB 版本 3.0.11,从图中可以看出是 REGION_ID: 26001 这个索引有大量的读热点发生,但是看完官方文档还是不理解应该如何去选择打散的方式

查看详情:如何根据分析的结果,打散热点

Q7【DM】:DM 版本 v1.0.1。下游 TiDB OOM 导致很多同步任务中断,后来自动恢复,不过其中一个增量同步的任务变成了从 conf 配置文件中配置的 meta 信息点开始同步,查询 dm_meta 库发现对应的 syncer_checkpoint 表存在,但是行数为 0,通过 dm-worker 日志可看出同步任务之前工作正常,但是突然 offset 出现问题。

请问是什么原因呢?查看详情:DM 同步 syncer_checkpoint 数据异常

Q8【SQL】:select col1,col2,col3 from table where

报如下当错误:

ERROR 1105 (HY000): runtime error: invalid memory address or nil pointer dereference

当使用 select * from table where ,执行成功,正常了。再次执行,也正常了……

select col1,col2,col3 from table where

请问是什么原因呢?查看详情:执行 SQL 报错,当使用 select * 执行成功后,又好了

Q9【TiSpark】:我们目前使用的 spark 的 jdbc 进行导入,速度慢而且集群压力大。TiSpark 只支持数据的导出,TiSpark 的 batch write 方式相比 spark jdbc方式有什么优化吗?查看详情:Spark dataset 导入 TiDB 方式咨询

Q10【DM】:对 DM 进行了初步了解及功能测试之后,发现了若干问题:

  1. 当上游表结构和下游不一致导致同步失败,通过跳过或者是替换的方式来解决,如果通过跳过的方式(跳过某个事件)肯定会造成数据丢失,这个怎么解决?如果是通过替换的方式,怎么知道需要替换的 SQL 是什么?

如下链接提问:

  1. checkpoint 是异步 push 到 TiDB 的,那么 checkpoint 在内存中存储的这段时间内是由 master 维护还是 work 维护?如果是 master 维护,目前 master 存在单点故障,假如还没 push 到 TiDB 中 master 挂掉了,再从新启动任务,是否会导致数据重复?
  2. 任务由于某种原因导致同步失败,这种情况是不可避免的,那么后续的数据就不会在进行同步。特别是针对于 TP 业务,需要的数据延迟和准确性都非常高,为了能够及时发现同步异常并及时修复,有什么好的解决方案?
  3. 如果初次进行数据增量同步(历史数据已经通过其他的方式就行导入),那么如何保证增量同步和历史数据完美结合,不重复也不丢失数据?

查看详情:DM 数据同步若干问题

文章

学习一款数据库,要学会备份和恢复。备份是一个严谨的工作,作为 DBA,应该掌握数据库备份、恢复的各种手段。TiDB 备份恢复方式你知多少将带大家一起来看看 TiDB 的备份恢复手段。


更多阅读

AskTUG Weekly (20200323-20200329) TiKV 新增实例报错,TUG 2020 换届选举投票开启,如何成为《TiDB in Action》的审稿作家?