记录回档
1. 功能介绍
记录回档,又称部分KEY回档,是记录级别的回档。需要业务明确指定要回档记录的KEY信息,业务无需停服。先从冷备中心拉取这些记录所在的冷备文件和Ulog文件到指定机器上构造数据,然后删除这些KEY的线上数据,再将这些KEY回档后的记录导入到线上。目前是TcaplusDB线上使用频率最高的回档功能,多业务使用过。
2. 使用场景
适用于业务知道要回档记录KEY的场景,一般要回档的记录数占全表总记录数的比率比较低。
3. 使用指导
提单前先准备好要回档的集群、业务、游戏区(可多选)、表(可多选)、回档表的KEY文件、回档时间这些信息,准备好构造回档数据的第三方机器。
在TcaplusDB Console找到记录回档的提单入口,将前面准备信息选入提单
提单后根据弹窗指引跳转到回档事务页面,确认无误的话点击事务执行。
事务的第一步会先下载这些记录所在的冷备文件和Ulog文件到指定的第三方机器,进行数据构造,完成后,事务会自动挂起等待用户确认是否继续,继续的话会先删除线上这些KEY的记录,再从构造数据中这些KEY的记录导入到线上。
4. 注意事项
- 数据回档前,需要将要回档的玩家踢下线,防止冲突。
- 回档的耗时由下载冷备文件、下载Ulog文件、Redo Ulog、删除线上数据、导入回档数据到线上五个部分构成,如果要回档的记录分布在多个存储节点上,多个存储节点的回档是相互独立,并行的。整个回档的耗时大头在于下载冷备文件、下载Ulog文件、Redo Ulog三部分。
- 下载冷备文件耗时取决于要回档的记录分布的引擎文件的多少,多的话下载冷备需要的时间就多,反之就少。
- 下载Ulog文件耗时取决于冷备时间ColdBackTime(通常是凌晨1:05)到回档时间RollBackTime的之间Ulog的总数量及大小,越小越少下载耗时越短,反之越长。
- Redo Ulog耗时取决于冷备时间ColdBackTime(通常是凌晨1:05)到回档时间RollBackTime的之间Ulog的总数量,越多的话会越慢。不同业务的写QPS不一样,相同时间范围内需要Redo的Ulog数量差别会比较大。
- 不同业务做记录回档的耗时要实际看上面2-5点的实际情况,目前线上大部分业务的记录回档能在半小时左右完成。