关于br “支持数据冷备份到外部存储” 的一点疑问

冷备份:数据库系统需要关闭后才能进行相关的数据的备份。
那么tidb数据库系统关闭是指关闭所有集群内所有节点还是仅仅指tidb节点呢。
如果全部关掉:运行br备份指令时就会报错(连不上pd)


pd打开以后:br日志里会报错(连不上tikv)

tikv打开以后就能成功跑备份任务了

那么这样看来官方文档上提到的冷备份就是指关掉所有tidb节点?不知道这样理解对不对呢?仅仅关掉tidb节点,能否确保备份数据的一致性呢?

这里应该是要写 热备 ,可以把帖子转到反馈区反馈下~

冷备是指停库copy,表述可能有问题,应该写物理备份

但是如果我为了保证备份期间没有数据写入而把所有tidb节点给关掉,那么虽然数据库系统未完全关闭,但也不算是正常运行了吧,这样的话是不是与 ”热备份“ 的定义不太相符呢?

停了所有tidb节点=停库吗?或者算是停了库的一部分? :smile:

  1. 对所有的数据库软件来说,冷备一般是指直接拷贝物理文件
  2. TIDB是存算分离架构,你可以简单的把tidb server理解成sql入口,数据存储是在kv,关掉tidb sever简单理解成只是关掉了sql操作入口,kv层的数据还可以通过api去操作的。

一般的冷备是需要停机的,而冷备相对比较简单粗暴的文件备份

停机主要是为了禁止数据写入吗?像tidb这种分布式架构,停掉所有tidb也就禁止了数据写入呢。这样的话停tidb是不是就等于停机了呢 :smile:

那看来这种分布式的架构,只停tidb≠停机,这样理解应该没问题吧。
还有个点不知道我理解的对不对,假如备份时间很长,在这个备份过程中有数据写入,但因为mvcc的原因,其实这期间写入的数据并不会影响到最终的备份结果吧。br下发备份指令时有个参数——”backupts“,那么tikv备份时就只会备与backupts相匹配的kv值,而备份期间写入的数据其实并不与backupts匹配,因此不会影响到最终备份结果。

是的。
br这种备份官网叫做快照备份,如果不指定backupts,那么 br 会选取备份开始的时间点所对应的快照。
结合日志备份可以实现pitr

从官方303课程看,BR就是热备份,数据库冷备份就是特指停库,然后数据文件copy


1 个赞

备份数据的一致性,BR是通过mvcc保证的,备份出来的数据是某个时间点的

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。