摘要: 数据库备份是个老生常谈的话题,看似很简单,但在实际操作过程中,运维人员往往会遇到这样或那样的坑。那么,如今的数据库备份有哪些挑战?如何构建有效备份系统?有什么解决办法?

数据库备份是个老生常谈的话题,看似很简单,但在实际操作过程中,运维人员往往会遇到这样或那样的坑。

那么,如今的数据库备份有哪些挑战?如何构建有效备份系统?有什么解决办法?日前,小编就这些问题采访了阿里数据库备份专家衡铁刚(佩恩)。

阿里数据库备份专家衡铁刚(佩恩)

先问个小白问题:数据库为什么要备份?

衡铁刚:时至今日,我认为这个问题已经不再是问题了,我换个问题来回答,数据库备份能规避哪些风险?其实从数据诞生时起就伴随着丢失风险,比如,自然灾难、电力故障、网络故障、硬件故障、软件故障、人为故障等。

上面列举了一大串风险,其现实意义是,你今天躲过了硬件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,现担任数据库产品经理,目前负责数据库备份产品设计。

原文链接

本文为云栖社区原创内容,未经允许不得转载。

专访阿里数据库备份专家 教你pick最有效的备份系统相关推荐

  1. 专访阿里云高级专家赵林:从0到1,中间件的研发运维之路

    中间件,英文名为Middleware,它提供应用层和系统层之间连接,是应用层实现系统资源集中调用的抽象逻辑,同时协调各个应用之间的沟通:并且自动处理分布式系统中的常见异常,最终简化大规模分布式应用的编 ...

  2. php如何取消bak自动备份_教你如何进行异地自动备份数据库

    之前有给大家介绍如何自动备份清理数据库文件了,如果还没看过的可以点下面链接,先了解如何自动备份. 能够自动化的任务,为何要手动?教你如何自动备份数据库 有小伙伴提出如何进行异地备份的问题,今天我们就来 ...

  3. meb备份mysql_教你如何恢复使用MEB备份的MySQL数据库【第1/3页】

    恢复使用MEB备份的MySQL数据库,执行一个普通备份[root@test bin]# ./mysqlbackup --defaults-file=/service/mysql5.5/my.cnf - ...

  4. 如何使用豆约翰博客备份专家批量下载新浪微博

    最新的博客备份专家2015版支持新浪微博的批量备份了,接下来就和大家介绍一下如何使用. 与其他的博客站点不同,下载新浪微博,需要先登录新浪微博,您可以在浏览器中先登录,也可以通过博客备份专家软件登录, ...

  5. 专访阿里云萧少聪、曹龙:一家云厂商对入局数据库做了哪些思考?

    曾经,一提起数据库,似乎只有专业的数据库厂商才足以研发.现在,这个边界变得越来越模糊.在第九届中国数据库技术大会的现场,我们可以看到硬件厂商侃侃而谈自己的数据库产品,可以看到云计算厂商开始分享自己在数 ...

  6. 阿里云数据库产品专家胡航丽:数据库自动驾驶平台DAS重磅助力数据库领域智能未来...

    墨墨导读:2020数据技术嘉年华于11月21日落下帷幕,大会历时两天,来自全国各地的数据领域学术精英.领袖人物.技术专家.从业者和技术爱好者相聚北京,见证了个人的快速成长.技术的迭代进步.行业的蓬勃发 ...

  7. [有奖活动进行中]阿里数据库专家曾文旌为你解决数据库那些事

    本周云栖社区问答专区为大家请来了阿里数据库专家曾文旌 与大家交流话题: 什么应用类型的后端数据库合适PostgreSQL / PPAS 欢迎大家围绕这一话题尽情提问,专家曾文旌还将每天选出一个优质的提 ...

  8. 专访阿里云游戏首席架构师李刚:如何解决云服务技术两大痛点?

    原文链接:点击打开链接 摘要: 对于阿里云来说,游戏相关的项目合作一直在增加. 对于如今的游戏行业来说,云服务早已不是什么新鲜的话题.一定程度上,不论是近期兴起的手游,还是曾经的端游和页游,如今都会或 ...

  9. 牛!阿里数据库掌门人李飞飞获选ACM杰出科学家

    11月8日,美国计算机协会(ACM)公布2018年度的杰出科学家名单,全球数据库领域领军人物.达摩院数据库首席科学家.阿里巴巴数据库事业部负责人李飞飞教授入选. ACM是国际上历史最悠久.规模最大.最 ...

最新文章

  1. Linux系统下RAID和LVM的实现
  2. Java黑皮书课后题第3章:**3.4(随机月份)编写一个随机产生1和12之间整数的程序,并根据数组1,2,3...显示对应的月份
  3. scrapy同时运行多个spider
  4. Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
  5. 使用JavaScript的Platformer游戏教程
  6. java源码影视源码搭建教程_新版千月影视app源码+搭建教程
  7. 【JZOJ4819】【NOIP2016提高A组模拟10.15】算循环
  8. arcgis选出点规定范围的面
  9. long在python中的意思_Python如何管理int和long?
  10. matlab求系统根轨迹和系统增益,控制系统的根轨迹分析
  11. Python Tricks(十一)—— 阶乘的实现
  12. 基于范围的for循环
  13. ai 数据模型 下载_为什么需要将AI模型像数据一样对待
  14. Vue设置页面的title
  15. 飞机大战java_Java飞机大战
  16. Kali Linux信息收集工具
  17. 【python--爬虫】彼岸图网高清壁纸爬虫
  18. Android学习之广播(BoardCast)
  19. 分享一个:批量下载个性化桌面壁纸和各种唯美图片的方法
  20. 百度地图爬虫——小试牛刀

热门文章

  1. jupyternotebook虚拟环境无法连接服务_详解pycharm连接远程linux服务器的虚拟环境的方法_python...
  2. python库路径_如何设置本地python库目录/ PYTHONPATH?
  3. java script中定义的var变量怎么在body中使用,深入分析JavaScriptvar中的预解析与副作用...
  4. 广义线性模型_广义线性模型(第六章补充)
  5. 隐藏鼠标指针_Mac鼠标光标消失怎么办?苹果电脑鼠标指针不显示的解决方法
  6. 引用另一模板的宏_生信人值得拥有的编程模板Shell
  7. 什么?船开上高架了!
  8. 重磅!教育部撤销518个高校专业
  9. 地球上最神奇的10种物质,打赌你都没见过!
  10. php e error,E_ERROR定义与用法汇总