mysql工具有哪些 oracle数据库客户端工具使用( 三 )

  • 在1的基础上,建立复制 。如果从库在追主库的过程中,没有报错,大概率意味着主从数据是一致的 。当然,也只是大概率,并不是100% 。
  • 在2的基础上,利用pt-table-checksum检查主从数据的一致性 。如果检查结果没问题,则意味着主从数据是一致的,也就间接证明了备份的有效性 。但因为pt-table-checksum在运行的过程中,会在chunk级别对表加S锁,对更新频繁的业务,还是有一定的影响 。
  • 一般来说,线上使用方法2足矣 。
    方法3,因为要检查主从数据的一致性,耗时相对较久,如果要检测的备份集很多,反而会影响检测的效率 。
    RTO 和 RPO衡量一个数据中心的容灾能力时,有两个常用的指标:
    • RTO:Recovery Time Objective,恢复时间目标 。指的是灾难发生后,必须在这个时间内恢复数据 。在恢复数据的这段时间内,服务是不可用的,所以RTO也是服务可允许的最大不可用时间 。如果我们要求服务的最大不可用时间是30分钟,那么RTO就是30分钟 。RTO 越小,代表容灾系统的恢复能力越强 。
    • RPO:Recovery Point Objective,数据恢复点目标 。指的是灾难发生后,数据可以恢复到的时间点 。譬如,我有一个系统,每天0点进行一次全备 。当系统出现故障后,会基于上一次的备份来恢复 。如果系统在凌晨3点出现故障,我们会丢失3个小时的数据 。极端情况下,系统在23:59出现故障,我们会丢失24个小时的数据 。这里的24小时就是这个系统的RPO。RPO越小,代表系统越能保证数据的完整性 。
    【mysql工具有哪些 oracle数据库客户端工具使用】RTO、RPO与灾难在时间轴上的关系如下图所示:
    mysql工具有哪些 oracle数据库客户端工具使用


    可以看到,RPO针对的是数据丢失,RTO针对的是服务宕机时间,两者之间没有必然的联系 。
    最理想的情况是RTO和RPO都为0,这就意味着当灾难发生时,系统会立即恢复,而且数据不会丢失 。当然,RTO、RPO越小,需要投入的成本也越高 。
    具体到MySQL中,为了降低RTO和RPO,我们可以从以下几个方面着手:
    RTO
    1. 增加备份频率,缩短备份周期 。
    2. 选择物理备份,而不是逻辑备份 。
    3. 添加延迟从库 。
    4. 恢复流程的自动化 。
    RPO
    1. 增加备份频率,缩短备份周期 。
    2. 搭建Binlog Server备份Binlog 。当出现故障时,我们可以基于备份和Binlog做基于时间点的恢复 。
    3. 添加延迟从库 。
    总结从RTO的角度出发,应尽量选择物理备份,而不是逻辑备份 。如果要使用逻辑备份,应尽量选择多线程备份工具和多线程恢复工具 。
    从RPO的角度出发,应尽量增加备份频率,缩短备份周期 。
    但 every coin has two sides,使用物理备份或者增加备份频率,无疑会增加存储成本 。
    所以,在确定备份策略和选择备份工具时,应从业务的RTO和RPO出发,结合存储成本综合考虑 。
    大多数公司会采取一个统一的备份策略,如一天一个全备 。虽然灾难情况很少出现,开发和DBA童鞋也应充分理解到这里面的风险,并制定相应的预案及业务兜底方案 。
    另外,对于线上核心业务,如果只有备份,还是很难有效降低数据库服务的RTO和RPO,建议部署延迟从库 。
    以上就是爱惜日网?mysql工具有哪些(oracle数据库客户端工具使用)的相关内容了,更多精彩请关注作者:爱惜日号SEO专员

    推荐阅读