TcaplusDB数据回档
OMS
数据回档分4个功能:按存储进程回档、 按Shard回档、 按Key回档、模糊条件回档
- 按Key回档:记录级别的回档,需要业务明确指定要回档记录的key信息,业务无需停服。会先拉取这些记录所在的冷备文件+Ulog在本地构造数据,然后删除这些key的线上数据,再将key回档后的数据导入到线上。目前是线上使用频率最高的回档功能,多业务使用过。
- 选择app zone table, 上传需要回档的key文件,再指定构造回档数据的第三方机器
- 数据构造准备完成后,事务会挂起等待用户确认是否导入到线上(真正的回档)
- 存储进程回档、表Shard回档: 对指定的存储进程或者表进行回档,需要业务停服进行回档。会把相关存储进程tcapsvr 主备进程都停止,然后拉取冷备+Ulog在本地构造数据,最后替换构造后的数据文件再启动Tcapsvr存储进程。这两种回档需要业务停服,会使DB读写操作中断,一般适用于全服回档。
- 模糊条件回档:实际也是记录级别的回档,适用于业务不知道要回档记录的key信息,只能提供简单的过滤条件的情况,满足条件的记录会被筛选出来进行回档,业务无需停服。需要用户用c++代码编写回档过滤条件逻辑,编译成so,提单时上传,供数据过滤使用。会先拉取这些记录所在的冷备文件+Ulog在本地构造数据,构造完根据插件so过滤出满足条件的记录,先删掉线上的记录,再将回档构造好的导入到线上。
限制
- 从备份时间点到回档时间点之间, 回档表发生过表变更、表删除任务 不可回档
- 从备份时间点到回档时间点之间, 回档表发生表扩容、表缩容、表重建,不可回档。
- 清表(且没有发生删表重建的)可以回档, 其他情况可以回档
- 回档: 首先生成指定时间的快照数据, 然后选择回档方式, 最后将快照数据恢复到线上数据