摘要: 数据库备份是个老生常谈的话题,看似很简单,但在实际操作过程中,运维人员往往会遇到这样或那样的坑。那么,如今的数据库备份有哪些挑战?如何构建有效备份系统?有什么解决办法?
数据库备份是个老生常谈的话题,看似很简单,但在实际操作过程中,运维人员往往会遇到这样或那样的坑。
那么,如今的数据库备份有哪些挑战?如何构建有效备份系统?有什么解决办法?日前,小编就这些问题采访了阿里数据库备份专家衡铁刚(佩恩)。
阿里数据库备份专家衡铁刚(佩恩)
先问个小白问题:数据库为什么要备份?
衡铁刚:时至今日,我认为这个问题已经不再是问题了,我换个问题来回答,数据库备份能规避哪些风险?其实从数据诞生时起就伴随着丢失风险,比如,自然灾难、电力故障、网络故障、硬件故障、软件故障、人为故障等。
上面列举了一大串风险,其现实意义是,你今天躲过了硬件bug,明天避开了雷劈,后天绕开了断电,大后天还是可能会“手滑”碰到误删除。
数据库备份有哪些挑战?
衡铁刚:首先,数据库资产盘点,对于个人用户,所有数据库资产可能就是一个实例,不用盘点也非常清楚。对于企业用户,特别是有一定规模的企业,由于业务多样性,数据库可能不止一个实例,甚至不止一种数据库类型。运维人员需要搞清楚有哪些数据库,分布在哪些环境,哪些是测试数据库,哪些是生产数据库,哪些是核心数据库,跑着什么业务,务必做到心中有数。
接下来,备份系统评估,经常有人问,备份如此基础、常规的工作,为什么总给人关键时刻掉链子的感觉呢?究其原因,备份作为基础工作,不会对业务发展起到推动作用,不出问题就无人问津。反过来,一旦出问题,又立刻成为众矢之的。对备份不重视、投入不足是导致其掉链子的主要原因。很多企业“备份重于一切”守则常挂嘴边,然则口号震天响,风过了无痕。
建议大家立刻问下技术团队:我们的备份真的有效吗?
什么是有效的备份系统?
衡铁刚:因为数据库用途不同,备份系统有效性也有所不同,从数据库用途上,大体分为测试数据库、生产数据库和核心数据库。
对于测试数据库,首先要识别数据库重要性,如果是个人测试用途,数据经常导入和清空,多数情况是不用备份的,如果是研发用途,建议开启备份,不要轻视测试数据库的备份,企业中所有开发、测试人员都在测试数据库上工作,一旦数据出现问题,压力扑面而来,同时我们也看到,测试数据库出问题几率往往高于生产数据库。
对于生产数据库,首先要确保备份开启,其次评估备份周期是否满足要求,比如每天一个全量备份,一旦出现故障时,数据最多丢失一天,最后备份数据有没有恢复过,确保备份数据是有效的。
对于核心数据库,其重要性高于测试数据库和生产数据库,除了以上手段外,还要有额外手段。首先实时备份已经成为企业选择数据库备份方案的必选项,将故障发生时丢失数据量降到最小,其次快速恢复对核心数据库价值越来越明显,根据故障风险,选择最佳的恢复方案,最后整个备份恢复系统要定期演练,可以抽样备份数据进行恢复,最好可以制定策略,定期自动完成整个恢复过程,并产出演练报告。
特别提醒:
- 比不备份数据更糟糕的事情,就是不验证备份数据的有效性。设想一下,在灾难降临时,您的所有业务数据都被彻底摧毁,但在你想恢复数据时,却发现备份已损坏,备份错了文件,或者发生了其他可怕的情况,那时候该怎么办呢? 没有经过验证的数据备份方案,本身就是一场灾难。
测试备份内容可确保数据得到了妥善备份且可用于恢复。千万别等事到临头才悔不当初。 - 不要迷信大而全方案,多样需求就要由多样方案满足,特别对于核心数据库,既要有整个实例定期备份,以防实例损坏、硬件故障,同时也要有单表实时备份,往往在关键时刻,能省去90%数据恢复时间。
- 恢复数据校验,无论是手工恢复,还是自动恢复,主要是为了解决备份数据有效性问题,其实对于恢复数据,如何校验数据完整性非常具有挑战,目前多数情况是根据业务特征,将恢复数据与生产数据进行抽样比对,也可以通过将恢复数据库作为备库,与主库同步来校验数据完整性。
有什么解决办法?
衡铁刚:还是那句话——“不要等到数据丢失时,才问怎么办”。趁现在给数据库加一份保障,接下来介绍基于阿里云产品的几个解决方案:
- 你的数据库在阿里云ECS上,使用数据库备份DBS将数据备份到OSS上,从购买、配置到运行,仅需5分钟
- 你的数据库在本地机房上,如果数据库已开通公网可以使用数据库备份DBS直接备份,或者通过开通阿里云专线,也可以使用数据库备份DBS将数据备份到OSS上,根据DBS地域选择,还可以做到异地备份
- 你的数据库在非阿里云的云环境上,如果数据库已开通公网可以使用数据库备份DBS直接备份,或者通过部署代理、开通阿里云专线,都可以使用数据库备份DBS将数据备份到OSS上,在阿里云上做跨云备份
请简单介绍下你的工作?
我目前在负责一款阿里云产品,就是上面提到的数据库备份DBS,你听过吗?DBS已经商用,作为数据库备份通道,与对象存储OSS一起构建无门槛的云数据库备份解决方案,整个配置过程只需5分钟,就可以实现秒级RPO(Recovery Point Objective恢复点目标,通俗理解是当数据库故障时,允许丢失多长时间数据,RPO越小越好)的实时备份。
除了为数据库提供连续数据保护、低成本的备份服务外,DBS还可在多种环境下提供强有力的数据保护,包括公共云、企业自建数据中心及其他云厂商。DBS具备低成本、高性能、零风险等优势,为用户提供理想的云数据库备份解决方案。
目前,数据库备份DBS提供的备份系统时刻被海量用户验证,产品不仅拥有实时备份、秒级RPO的能力,同时还具备单表恢复能力,帮助用户只恢复有价值的数据,RTO可降到分钟级。
关于作者
衡铁刚,花名佩恩,2011年加入阿里巴巴,曾经担任过阿里巴巴集团MySQL DBA,现担任数据库产品经理,目前负责数据库备份产品设计。
原文链接
本文为云栖社区原创内容,未经允许不得转载。