MySQL随机恢复的几个段位是什么

56次阅读
没有评论

共计 1730 个字符,预计需要花费 5 分钟才能阅读完成。

本篇内容主要讲解“MySQL 随机恢复的几个段位是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让丸趣 TV 小编来带大家学习“MySQL 随机恢复的几个段位是什么”吧!

对于 MySQL 数据恢复而言,其实很多时候都会有点儿不踏实,大多数情况下备份恢复体系的建设是一气呵成的,建设完善之后保持原样,就很少干预和测试了,而一旦需要恢复的时候,才发现这也不好,那也不完善,轻则花费重金恢复,重则是职业生涯的终点。

所以我们在数据恢复的时候,我们特意完善了一个功能,那就是随机恢复,随机恢复主要实现两个功能:基于备份集恢复和基于时间点恢复。基于备份集恢复相对比较简单,就是什么时候做的备份,一定要恢复出来,而基于时间点会复杂一些,比如数据库可以恢复到 10:00:00,是需要实现精确到秒级的恢复能力,我们在此更进一步,生成一个随机时间,然后让服务按照指定的时间点进行恢复,每天大约会跑 10 个左右的任务,都是随机从服务组中抽取。

经过一段时间的调整和验收,从 50% 左右的成功率不断调整,到了现在的 93% 左右的成功率,我的初步要求是两个 9,这个标准提了一段时间了,从实践的结果来看,这个标准要达成付出的代价和心血是很多的,远远不是看上去的那么轻松。

对此我对随机恢复设置了 3 个段位,可以作为参考。

第一层级:随机抽样 + 单机恢复

这一层级思路很简单,随机从服务组中选取一个实例,到指定的恢复机恢复,只要数据库能够正常启动则标识成功,否则,如果因为参数兼容性,版本差异,空间瓶颈,插件问题等导致无法启动,都会标记为失败。

当然这种模式的缺点也很明显,那就是随机的模式,最尴尬的无非是同样的实例被反复选中,或者全是大块头的实例,对恢复造成很大的压力导致失败,另外则是恢复机成为瓶颈,跨机房流量和空间限制,会导致单一的恢复机难以支撑更高的指标要求,这也是早期难以突破 1 个 9 的主要原因。

第二层级:随机抽样 + 多 IDC 节点负载均衡

这种思路可操作性很强,优点会很明显,原本的恢复任务可以随机的分配在不同的 IDC 中,对于跨机房流量消耗是一种很大的改良,同时也可以大大提高随机恢复的吞吐量,比如我们原本可以跑 10 个随机恢复任务,那么如果我们加到 15 个任务也可以说是轻轻松松。

第三层级:随机策略调度 + 多 IDC 负载均衡

这是我认为目前改进空间很大,能够迭代进入 2 个 9 的关键阶段。可以从如下的方面考虑:

1) 恢复服务器实现多版本插件式部署,对于恢复服务器而言,不需要默认数据库版本,所有差异化版本都是插件式目录,可以快速构建恢复服务器,提高恢复扩展能力

2) 根据恢复服务器的存储和配置进行定制化延迟启动,比如有的服务器 CPU 配置好一些,启动数据库快一些,有些数据库启动要略慢一些,可以通过配置化实现延迟启动的问题,避免数据库启动中的一些尴尬问题

3) 大容量实例在指定服务器中调度恢复,节省资源成本,比如有一个实例容量是 800G, 那么恢复机需要在 900G 左右,那么不是所有恢复服务器都需要 900G, 通常来说,这是极个别的现象,比如通用配置 500G 就足够。

4) 大容量的实例尽量减少调度频率,如果一个实例的容量较大,恢复成本较高,那么我们可以有效恢复的基础上调整恢复优先级

5) 未恢复的实例需要优先调度,如果有 1000 个实例,如果经过了很长时间,恢复的覆盖范围始终覆盖不了大多数实例,其实随机恢复的设计是有问题的。需要照顾到那些没有被调度到的实例

6) 实现弹性调度,比如对于容量小的实例,恢复效率会快很多,那么我们势必就可以增加这类实例的恢复数量,而如果选中的实例容量较大,则可以在时长,数量方面做一些调控。

第 4 层级:根据统计学模型假设检验

在第 3 层级的基础上,达到了两个 9 的前提下,第 4 个层级会把恢复转化为一个通用问题,对于如何衡量恢复能力在没法实现全量数据集恢复的前提下,可以基于统计学的模型进行假设检验,最终的目的是通过一个有效样本数据进行统计量的评估和分析,这个部分的内容理论深度其实没那么复杂,是一种全新的思维逻辑去评估恢复质量。

到此,相信大家对“MySQL 随机恢复的几个段位是什么”有了更深的了解,不妨来实际操作一番吧!这里是丸趣 TV 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-27发表,共计1730字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)