数据库备份
数据库数据安全性是首先要保证的,也是最核心的,数据安全保障不了,其实谈其他的性能意义不大了就
备份的意义是什么呢
数据恢复!
数据恢复!
数据库数据安全性是首先要保证的,也是最核心的,数据安全保障不了,其实谈其他的性能意义不大了就
备份的意义是什么呢
数据恢复!
数据恢复!
数据恢复!
目前备份方式的几个纬度
全量备份 VS 增量备份
热备 VS 冷备
物理备份 VS 逻辑备份
延时备份
全量binlog备份
建议方式
热备+物理备份,核心业务:延时备份+逻辑备份
全量binlog备份
借用一下当年在新浪做的备份系统数据
一年7000+次扩容
一年12+次数据恢复
日志量每天3TB,数据总量2PB
每天备份数据量百TB级
全年备份36万次,备份成功了99.9%
主要做的几点
备份策略集中式调度管理
xtrabackup热备
备份结果统计分析
备份数据一致性校验
采用分布式文件系统存储备份
备份系统采用分布式文件系统原因
解决存储分配的问题
解决存储NFS备份效率低问题
存储集中式管理
数据可靠性更好
2 使用分布式文件系统优化点
Pbzip压缩,降低多副本存储带来的存储成本,降低网络带宽消耗
元数据节点HA,提高备份集群的可用性
erasure code方案调研
数据恢复方案
目前的MySQL数据恢复方案主要还是基于备份来恢复 ,可见备份的重要性
比如我今天下午15点删除了线上一张表,该如何恢复呢
首先确认删除语句,然后用备份扩容实例启动,假设备份时间点是凌晨3点
就还需要把凌晨3点到现在关于这个表的binlog导出来,然后应用到新扩容的实例上
确认好恢复的时间点,然后把删除表的数据导出来应用到线上