TiDB的BR为什么不用物理备份?

  1. Br 就是物理备份,逻辑备份是指通过 tidb server 以库表的形式导出数据,例如使用 dumpling 工具。
  2. Br 是通过 tikv 扫描当前实例上 region leader 的 key-value 数据,直接生成 rocksdb 的 sst 文件。
  3. Br 备份时,为了获取一致性备份,会有个 [startTs, endTs), 基于 tidb 的 mvcc,也就是说会把扫描出来的,但是不在范围内的版本给过滤掉。
  4. 恢复时候的 rewirte key,那是因为 key 包含 tableId、indexId 信息,在恢复的表上,tableId、indexId 可能变化了,通过 rewrite key 替换为新的前缀,使用物理的方式进行恢复。
  5. Br 只备份当前 tikv 上为 leader 的 region 数据,因为 tikv 多副本,只需要备份一个的数据就行了。
  6. myrockshotbackup 这个是不是限制为 myrocks 针对mysql的 rocksdb引擎的备份?在 tidb 体系应该没有适用性;另外就是参考 5,不需要每个 tikv 把所有副本的数据都备份出来。
  7. br 是分布式备份,所有的 tikv 节点可以同时进行,所以备份速度应该也能接受。