写点什么

TiDB 备份实现

  • 2022 年 7 月 11 日
  • 本文字数:894 字

    阅读完需:约 3 分钟

作者: 18515065291 原文来源:https://tidb.net/blog/96d8c339


1、前言


分布式数据库的备份,实现本身就存在很多难点:
复制代码


  • 每个分布式存储节点独立备份?or 整体逻辑备份?

  • 如何备份?

  • 备份存放地点

  • 备份恢复如何做?

  • 集群过大如何处理?

  • 集群压力过大如何处理?

  • 面对如此多的难点,TiDB 本身提供了几个参考方案:

  • mydumper/dumping 逻辑备份工具

  • BR: 分布式备份恢复的命令行工具

2、信息

2.1、集群大小信息

大于 3T 的集群还是挺多的


2.2、某集群的表信息

例如某集群的表信息


只少部分的表比较大,导致整个集群备份时间过长,无法备份


2.3、备份举例

备份日志信息:1.3T 集群备份时间 12 小时 +,即小于 3T 的集群也存在备份时间特别长的


【命令】:


dumpling -u xxx -p xxx -h xxx-P xxx–status-addr xxx -F 64MiB -c gzip -t 6 -o xxx


【日志】:


[2021/06/18 02:00:02.021 +08:00] [INFO] [versions.go:55] [“Welcome to dumpling”]


[2021/06/18 14:24:02.623 +08:00] [INFO] [status.go:38] [progress] [tables=“6/7 (85.7%)”] [“finished rows”=1925417242]


[“estimate total rows”=1894156590] [“finished size”= 1.34TB ] [“average speed(MiB/s)”=30.258647971246944] [2021/06/18 14:25:26.909 +08:00] [INFO] [collector.go:212] [“backup Success summary: total backup ranges: 18, total success: 18,


total failed: 0, total take(backup time): 12h25m24 .287105754s, total take(real time): 12h25m24.287132149s,


total size(MB): 1280405.48 ,avg speed(MB/s):28.63,total rows:1929008578”]


3、备份实现


3.1、实现方式


BR 备份工具我们还在内测中,目前 NFS 的性能、稳定性均有一定问题,后续测试好后再进行分享。当前还是逻辑备份


表重要性:


  • 越大的表,重要性相对越低,例如日志流水表等

  • 越小的表,重要性相对越高,例如配置表等

  • 暂时无法备份的表,后期我们再考虑下如何备份


整集群备份:


  • 小于 3T 的集群

  • 如果小于 3T 也备份失败,则改成部分表备份


部分表备份:


  • 单表 <500G

  • 单表小于 1 亿

  • 白名单


备份工具:


  • Dumpling 备份

  • BR 持续调研与关注


3.2、当前备份情况

集群备份:60 套左右


单表备份的集群:25 套


单表备份的表:1500 张左右


发布于: 刚刚阅读数: 2
用户头像

TiDB 社区官网:https://tidb.net/ 2021.12.15 加入

TiDB 社区干货传送门是由 TiDB 社区中布道师组委会自发组织的 TiDB 社区优质内容对外宣布的栏目,旨在加深 TiDBer 之间的交流和学习。一起构建有爱、互助、共创共建的 TiDB 社区 https://tidb.net/

评论

发布
暂无评论
TiDB备份实现_管理与运维_TiDB 社区干货传送门_InfoQ写作社区