乐趣区

关于数据库:TcaplusDB知识库TcaplusDB的数据恢复功能

TcaplusDB 是腾讯自研的 noSQL 数据库,针对游戏的开发特点而定制,具备高性能、低成本、高可用、强弹性伸缩等特点,本文重点介绍 Tcaplus 高可用中必备的数据恢复性能。


TcaplusDB 采纳主备做数据的冗余备份,其中 Master 和 Slave 角色是对等的,具体表现在 Master 的数据会异步的同步到 Slave,当 Master 挂掉后,Slave 会切换为 Master 提供服务。

数据恢复包含两个局部:备份与复原,因而从以下两点来介绍。

备份

数据库须要定时备份。从 TcaplusDB 架构图中得悉,每对主备都是通过备机定时向冷备核心做备份。在每台机器上架的时候,冷备脚本都会部署到机器上,之后通过冷备脚本与冷备核心的交互实现备份工作。

冷备脚本的作用

  • 对以后机器做 dump 操作,dump 全量数据,并 submit 到冷备核心,而后由冷备核心发动调度,将冷备文件拉取到冷备核心。
  • 对以后机器的增量 binlog 流水 submit 到冷备核心,而后由冷备核心发动调度,将 binlog 流水文件拉取到冷备核心。
  • 定时清理机器已上传完毕的全量冷备文件。
  • 定时清理机器已上传完毕的增量 binlog 流水文件。

备份策略

  • 每日凌晨 1:05 分,从 tcapsvr slave 备份一份全量数据到机器的 bak 目录,期待冷备核心拉取。
  • 每台机器的全量备份要求 10 小时内全副上传到冷备核心。
  • 每隔五分钟,将增量日志流水到冷备核心。
  • 每台机器的增量日志,自 submit 后,要求冷备核心一小时内拉取结束。

冷备核心

  • Tcaplus 应用的冷备核心是技术运营部负责保护的,互娱大部分业务的备份都会存到冷备核心。
  • Tcaplus 每天与冷备核心交互的 Slave 机器约 1400 台左右。
  • 每台机器产生的全量冷备最大 1.1TB,增量引擎约 500GB。
  • 冷备核心对于某个 Ip 发动的 submit 工作后,会在目标机器的 Ip 上发动 rsync 线程拉取文件到冷备核心。
  • 对于要上传冷备的 Ip,辨别了千兆带宽和万兆带宽,万兆带宽上传和下载速度要高于千兆带宽。

复原

故障复原

故障复原中最次要的又是机器故障,个别分为 Slave 故障和 Master 故障:

​ 对于 Slave 机器故障,由 DBA 发动 Slave 重建事务,此时新替换的机器,会将原挂起的 slave 的冷备下载到本地,经解压后注册到 Master。

​ 对于 Master 机器故障,零碎会主动将 Slave 切换为 Master,之前的 Master 切换为 Slave,Slave 再发动重建事务,拉取新 Master 的冷备做数据恢复。

业务复原

业务须要复原一些 key 到指定工夫点

这类问题分两步:

①把数据结构到指定工夫点,包含从冷备核心拉取到本地以及解压到指定的目录。

②从结构好的数据里找到对应的 key,将数据导入线上。导入前,项目组有时晓得具体的 key,有时只晓得具体的范畴,此时分两种状况探讨:

​ key 已知:从结构好的数据中遍历查找到执行的 key,发动导入即可。

​ key 未知,只晓得范畴:TcaplusDB 将范畴内数据遍历进去并提供给项目组,由项目组辨识须要回档的 key 导入线上。

两种状况均已事务化。

业务测试须要将现网数据复制到测试环境

现网和测试环境属于两个集群,该过程也分为两步:首先将现网的数据结构一份,而后复制到测试环境并全量导入。


TcaplusDB 是腾讯出品的分布式 NoSQL 数据库,存储和调度的代码齐全自研。具备缓存 + 落地交融架构、PB 级存储、毫秒级时延、无损程度扩大和简单数据结构等个性。同时具备丰盛的生态、便捷的迁徙、极低的运维老本和五个九高可用等特点。客户笼罩游戏、互联网、政务、金融、制作和物联网等畛域。

退出移动版