RawKV 备份和恢复
TiKV 有时可以独立于 TiDB, 与 PD 构成 KV 数据库,此时的产品形态为 RawKV。Backup & Restore (BR) 支持对使用 RawKV 的产品进行备份和恢复,本文介绍 RawKV 备份恢复的相关知识。
备份 RawKV
在某些使用场景下,TiKV 可能会独立于 TiDB 运行。考虑到这点,BR 提供跳过 TiDB 层直接备份 TiKV 数据的功能:
br backup raw --pd $PD_ADDR \
-s "local://$BACKUP_DIR" \
--start 31 \
--ratelimit 128 \
--end 3130303030303030 \
--format hex \
--cf default
以上命令会将 default CF 上 [0x31, 0x3130303030303030)
之间的所有键备份到 $BACKUP_DIR
。
这里,--start
和 --end
的参数会先依照 --format
指定的方式解码,再被发送到 TiKV 上去,目前支持以下解码方式:
- "raw":不进行任何操作,将输入的字符串直接编码为二进制格式的键。
- "hex":将输入的字符串视作十六进制数字。这是默认的编码方式。
- "escaped":对输入的字符串进行转义(backslash-escaped)之后,再编码为二进制格式,格式类似于
abc\xFF\x00\r\n
。
恢复 RawKV
和备份 RawKV相似,恢复 RawKV 的命令如下:
br restore raw --pd $PD_ADDR \
-s "local://$BACKUP_DIR" \
--start 31 \
--end 3130303030303030 \
--ratelimit 128 \
--format hex \
--cf default
以上命令会将范围在 [0x31, 0x3130303030303030)
的已备份键恢复到 TiKV 集群中。这里键的编码方式和备份时相同。