DT时代下 企业级数据库灾备的探索与实践
随着DT时代的到来,企业对数据的依赖程度与日俱增,数据保护早已成为企业的一门必修课。只有拥有先知先觉的防范意识和充分的技术准备,才能“覆巢之下,亦有完卵”。在日前云栖大会的“企业级数据库最佳实践”专场,灾备相关议题也备受关注。本文结合阿里巴巴数据库团队在会上的分享,详细介绍如何使用数据库云产品组合,搭建符合自身企业发展阶段的灾备方案。
数据是企业重要的生产资料,一旦发生数据丢失,企业就会陷入困境:客户资料、技术文件、财务账目等客户、交易、生产数据可能被破坏得面目全非。概括起来,数据丢失分三个层次:
逻辑错误:包括软件bug、病毒攻击、数据块被破坏等。
物理损坏:包括服务器、磁盘损坏等。
自然灾害:火灾、地震等自然灾害对数据中心的摧毁等。
为了应对数据丢失造成的损失,必须对数据进行灾备保护,并且企业信息化程度越高,相关的数据灾备恢复措施就越重要。
1.企业级数据库灾备体系
1.1. 灾备定义
灾备是指容灾+备份:
备份的定义:指用户为应用系统产生的重要数据(或者原有的重要数据信息)制作一份或者多份拷贝,以增强数据的安全。
容灾的定义:指在相隔较远的两地(同城或者异地)建立两套或多套功能相同的IT系统,互相之间可以进行健康状态监视和功能切换。当一处系统因意外(天灾、人祸)停止工作时,整个应用系统可以切换到另一处,使得该系统功能可以继续正常工作。
1.1. 灾备痛点
(1)备份痛点
备份失效
恢复速度慢
恢复有损
异地备份成本高
性价比低
(2)容灾痛点
容灾方案单一,无法满足不同数据级别场景建设
缺少容灾大盘能力,无法对容灾链路监控、故障快速识别
灾备不具备巡检能力
故障恢复成本高,数据校验、比对、订正难以决策
多层容灾工具切换难以协同
预案管控缺失,无法自动化运维
1.1. 落地方案
企业级数据库灾备体系要以业务需求为导向,基于多种因素考量选择:RPO,RTO,成本,扩展性。还需要覆盖数据库灾备的各种需求:灾备环境搭建、灾备数据同步、灾备监控告警、灾备演练、灾备切换、数据校验及修复等。
2.企业级数据库灾备核心产品
阿里云产品经多轮迭代具备比较完善的灾备能力,使用以下核心产品可帮助企业应对不同场景及需求的数据库灾备方案设计。
DBS:Database Backup Service,是为数据库提供连续数据保护、低成本的备份服务。它可以为多种环境的数据提供强有力的保护,包括企业数据中心、其他云厂商。DBS提供数据备份和操作恢复的整体方案,具备实时增量备份、准确到秒级的数据恢复能力。在数据库灾备解决方案中可使用阿里云DBS实现各数据库间的数据备份。
DTS:Data Transmission Service,是阿里云提供的一种支持多种数据源之间数据交互的数据流服务。它提供了数据迁移、实时数据订阅及数据实时同步等多种数据传输能力。在数据库灾备解决方案中,使用阿里云DTS可实现各数据库间的数据迁移与实时同步,从而为数据库灾备打好重要的基础。
HDM:Hybrid Cloud Database Management,是混合云数据库管理平台,帮助企业打通混合云数据库架构,提供多环境统一管理、快速弹性、灾备切换的能力。对于混合云灾备场景下,使用阿里云HDM可便捷、快速的将本地IDC的数据同步至云上,并进行灾备切换演练,故障发生时可通过HDM进行灾备切换,保障数据库的可用性。
在灾备场景下,建议可搭配阿里云其他产品,例如DRDS、OSS,这些产品经阿里内外部验证,均具有较高可靠性并可在灾备场景下灵活应用。
3.典型应用场景
3.1.实时备份
当用户对数据备份要求较高时,比如需要连续实时备份,且备份过程中不影响业务运行,此时可购置阿里云数据库备份DBS服务,实现数据库的热备份,DBS可实现数据实时增量备份、准确到秒级的数据恢复能力。解决方案架构示例如下:
架构设计说明:
关键部件部署:
在用户本地部署有两套数据库:生产数据库和恢复库,分别用于生产数据的存储、故障后数据恢复。
在阿里云的两个区域(例如:华南1、华北1)分别购置存储服务,例如OSS对象存储或者NAS文件存储。
购置阿里云的DBS服务,用于用户本地数据库实时热备份至云上存储。
云下生产数据备份至云上:(可通过以下两种方案中的任意一种将云下生产数据备份至云上)
用户可在本地再部署一套存储,将生产数据先备份至本地IDC的存储,再通过本地IDC存储灾备拷贝至云上存储。
用户本地的生产数据库与云上存储之间通过阿里云DBS,将生产数据库中的数据直接热备份至云上两个区域的存储中。
数据恢复:
如果用户本地IDC的生产数据库发生故障,但本地IDC的存储运行正常,可通过本地IDC的 存储将数据恢复至本地IDC的恢复库。
如果用户本地IDC的生产数据库和存储均发生故障,或没有部署本地存储,则可通过DBS将云上存储将数据恢复至本地恢复库。
架构特点:
优点:技术要求高、一致性好,恢复时间短。
缺点:RTO随着数据库是来大小而变化。
应用场景:比较成熟的备份手段,适用于大部分的关系型数据库。
3.2.异地多活
无论弹性容灾上云、容灾双活/多活,还是两地三中心,用户都可以在企业级数据库灾备体系中找到解决方案,接下来以异地多活场景为例介绍解决方案。在用户业务多点写入场景下,如何具备数据级异地双活,如何支持一键切换至另一个机房,实现灵活的弹上弹下和未来的线性扩展。
部署架构
应用配合进行单元化改造
通过 DTS 实现两地/多地的数据库的双向同步,解决同城单点问题
通过 HDM 实现双活/多活架构的监控和管理,并提供计划内/计划外切换的能力
双数据中心支持读写分离,本地用户就近读取
4.新产品:数据库备份DBS
数据库备份DBS作为数据库上云备份通道,与对象存储OSS构建云数据库备份解决方案,仅需5分钟即可实现秒级RPO(Recovery Point Objective恢复点目标,通俗理解是当数据库故障时,允许丢失多长时间数据,RPO越小越好)的实时备份。
数据库备份DBS提供备份服务,在整个备份过程是无锁的,不会阻塞数据库上业务请求;用户可以选择整个实例备份,也可以选择只备份一张表;一旦发生误操作情况时,用户都可以通过DBS进行任意时间点恢复,将整个实例或一张表的数据恢复到误操作前1秒;DBS提供多种规格,可以满足几百MB到几百GB的数据库备份。
目前,数据库备份DBS提供的备份系统时刻被海量用户验证,产品不仅拥有实时备份、秒级RPO的能力,同时还具备表级恢复能力,帮助用户只恢复有价值的数据,RTO可降到分钟级。
值得一提的是,实时备份经历了历年双11的考验,接下来,数据库恢复DBS将会提供在线查询能力,用户无需等待数据恢复过程,备份任务完成后在查询窗口上可以通过SQL立刻查询备份数据,用户还可以将查询结果导出Excel、Word等通用格式,用于数据分析,也可以生成Insert、Replace语句,用于数据订正