实战宝典 | 如何让备份数据秒级可用,随时查询历史数据?

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 盘活二级数据的方案,从解决方案的角度是成立的,但实施起来面临着许多技术困难。CDM是备份技术领域近几年备受关注的技术方向。业界对于CDM的定义各有一些不同,在数据库领域,我们认为CDM是多项技术组合而成的解决方案,目的是帮助用户更快速、低成本的保存和使用数据库备份数据。阿里云数据库备份产品DBS,运用了业界领先的CDM(Copy Data Management)技术,提供了完全克服以上技术困难的整体解决方案——DBS沙箱,帮助用户全面激活从备份数据到二级数据库业务生态。

1.备份到二级数据库

从数据的生成和管理角度,企业数据可以分为一级和二级数据两类。其中一级数据是系统直接生成的数据,例如存储在线订单的数据库。二级数据的内容来源于一级数据,可能是一级数据的简单复制(例如订单数据库的一个备份副本),也可能是在一级数据的基础上发生格式或内容的变化(例如基于在线订单数据生成的商业分析数据库)。业界通常认为,从数据量看一级数据仅仅是企业需要维护数据“冰山一角”,Gartner报告指出二级数据的数据量达到一级数据的20倍。
通常企业核心的一级数据都使用数据库存储(本文称为在线库),而数据库的备份则是最常见的二级数据。大部分时候,备份数据量会远大于在线库的数据量。传统的备份系统中,这些备份数据会长期占用存储资源,但仅仅在容灾场景下才会使用,也就意味着为备份数据付出的成本很高,但大部分时候无法获得收益。另一方面,如果备份数据只能通过恢复(覆盖)到在线库才能被使用,那么企业使用备份数据本身就变成了一个具有很高风险的操作。
20201117161223.jpg
现代备份系统,通常会给用户将备份数据恢复到非生产数据库的解决方案,我们称之为二级数据库。显然二级数据库也成为了用户的二级数据的一部分。用户可以将二级数据库用于许多场景,举例来说:
开发测试:许多企业的集成测试,依赖真实的在线数据内容和数据量。那么使用备份数据产生的新数据库,可以满足这一需求,并且对在线生产库没有影响。
应急容灾:与传统的恢复到生产库方案不同,生产新的应急容灾库的使用方法更加灵活。既可以在生产库故障期间作为生产库的临时替代(故障结束后切换回生产库),也可以在生产库出现脏数据时作为数据订正的参照对象。
历史分析:如果要分析过去某个时间点的数据,那么查询从历史备份数据产生的新数据库,是最合理的方案。

2. 拷贝和管理数据带来的困难

前面所述盘活二级数据的方案,从解决方案的角度是成立的,但实施起来面临着许多技术困难。
数据拷贝的资源成本:1)同一个备份数据产生可能产生多个二级数据库,这些数据库之间数据完全重复,产生多倍的存储成本,以及数据拷贝产生的带宽成本,2)不同备份集之间也存在大量重复数据,例如在线订单库的一次备份可能相比前一天的备份,只有1%记录发生变化,剩余大量的记录是不变的,然而新增的存储成本则是生产库的100%。
数据拷贝的时间成本:即使用户不在意存储和带宽成本,拷贝数据本身仍然受限于物理设备的IO吞吐限制。例如当生产库的容量达到1TB,拷贝数据的最大吞吐是100MB每秒,需要3个多小时才能完成一个二级数据库所需的数据拷贝。然而前面提到的几个典型二级数据库应用场景,都希望数据准备时间(类似备份领域的RTO概念)尽可能低。特别是应急容灾场景,高于秒级级别的准备时间,一般是不能接受的。
资源管理挑战:一般企业用户通常不具备云服务弹性资源管理能力,对于二级数据库应用场景,需要提前准备软硬件资源,包括主机、系统、软件和网络等配置,无法按需弹性的付出的硬件和人力资源成本。
数据管理挑战:1)新产生的二级数据库也需要管理,例如权限管理、性能监控、后台运维。然而现有的大部分数据库管理系统和人员(如DBA),并没有准备好管理为二级数据库。2)在一些特殊情况下,二级数据库还需要对原始数据加工后才能使用,例如生产库中的敏感数据,在提供给测试或分析系统前,需要对数据进行脱敏处理。

2.jpg
以上的各种技术问题,使得备份数据到二级数据库的实际实施难度非常高,大部分企业用户都只能望而却步。阿里云数据库备份产品DBS,运用了业界领先的CDM(Copy Data Management)技术,提供了完全克服以上技术困难的整体解决方案——DBS沙箱,帮助用户全面激活从备份数据到二级数据库业务生态。

3. 阿里云DBS沙箱技术

CDM是备份技术领域近几年备受关注的技术方向。业界对于CDM的定义各有一些不同,在数据库领域,我们认为CDM是多项技术组合而成的解决方案,目的是帮助用户更快速、低成本的保存和使用数据库备份数据,具体来说就是解决前面所述的备份数据到二级数据库各项技术困难。
3.jpg

3.1 物理备份技术

物理备份技术,是DBS沙箱技术的前提。相比逻辑备份技术,物理备份不需要解析数据库中的内容,而是直接拷贝数据库的文件,因此相比逻辑备份,占用的计算、存储、带宽资源更少。物理备份技术的主要难点在于,不干扰在线库的正常读写前提下,实现对数据库文件PIT(Point-in-Time)拷贝。举个例子,如果在不锁表情况下,一遍拷贝MySQL数据文件,一遍对MySQL写入数据,最后拷贝完成的数据文件很有可能是错误的,因为这个文件先拷贝的部分与后拷贝的部分,并不属于同一个时刻。实际上,数据库物理文件的PIT拷贝,是数据库专业备份软件的核心技术门槛之一,不同类型的数据库的具体技术方案完全不同。DBS的物理备份功能,支持对主流的MySQL、Oracle、SQLServer、MongoDB等数据库。
进一步,我们将对数据库物理文件的PIT拷贝称作物理全量备份,另一种称为物理增量备份的技术,仅拷贝从上一次备份时间点到当前备份时间点的增量变化,从而大幅降低产生新的备份集的带宽和存储开销。最理想情况下,仅需要第一次采用物理全量备份,后续每次备份都可以采用物理增量。要实现这个目标,需要克服以下两个技术难点:
• 增量数据不能独立存在,它在恢复时,必须与全量可以合并为新的全量数据。如果选择在用户端实现全量与增量的合并,那么会消耗大量用户资源,以及使得RTO大幅增加。因此更友好的解决方案是,在恢复前,服务端完成全量与增量的合并。
• 如何提取数据库增量变化的数据,业界称为数据库CBT(Changed Block Tracking)技术,这同样是专业数据库备份产品的核心技术门槛之一。DBS同样对主流的MySQL、Oracle、SQLServer数据库都支持了CBT能力。
关于阿里云DBS产品针对各种主流数据库,如何实现物理全量和增量备份,由于技术点十分繁杂,并且不是本文介绍沙箱功能的核心技术点,本文暂不展开论述。另外DBS的物理备份功能,还结合了传输层的源端重删和压缩技术,进一步降低备份带宽开销。

3.2 存储虚拟化技术

存储虚拟化技术,是解决备份数据到二级数据库的拷贝问题的关键技术,也是业界各种CDM解决方案必不可少的技术点。秒级快照和克隆,是存储虚拟化技术的核心能力。将存储虚拟化技术运用到数据库备份,分为2个阶段:
生成只读快照:对于同一个生产库产生的不同时间的备份集,使用存储虚拟化技术的备份系统,不再将这些备份集区分在不同文件路径存储,而是按时间覆盖备份数据,每当完成新数据的写入覆盖,则创建一个新的快照。产生新的快照并写入数据,不会触发数据拷贝,因此新旧快照之间的重复数据是共享的。
生成可写克隆:当备份系统需要从一个备份集恢复数据时,需要选择一个快照,然后创建基于该快照的克隆。克隆是可写的,对克隆的写入不会影响已创建的快照数据,也不会影响其他克隆的数据。
业界领先的存储系统实现快照和克隆能力,主要的理论基础都是CoW(Copy-on-Write)和RoW(Redirect-on-Write),这两种设计各有利弊,工业界也有不少对这两项技术的改进实现,本文不展开论述。阿里云DBS产品针对不同的场景,综合采用了CoW和RoW两种的存储解决方案。

技术点 RTO RPO 资源
逻辑全量 小时级 天级
逻辑全量+逻辑日志 小时级 秒级
物理全量 小时级 天级
物理全量+物理增量 小时级 小时级
物理全量+物理增量+逻辑日志 小时级 秒级
物理全量+物理增量+逻辑日志+存储虚拟化(DBS解决方案) 秒级 秒级

3.3 云原生沙箱实例

在秒级生成备份数据克隆的基础上,阿里云DBS产品还进一步提供了二级数据库实例托管功能——DBS沙箱实例。目前DBS支持为MySQL数据库(包括阿里云RDS)创建沙箱实例,未来将进一步支持Oracle、SQL Server和MongoDB。对无论数据源来自RDS、ECS自建,还是线下环境,只要通过DBS备份到云端,都可以按用户需要在DBS云端创建沙箱实例。该实例是DBS云服务的一部分,用户不需要操心的资源弹性调度和高可用问题。
除了生成沙箱实例,DBS还为用户考虑了管理数据库的需求
数据管理:DBS沙箱功能对接了阿里云数据管理服务DMS。DMS是一种集数据管理、结构管理、用户授权、安全审计、数据趋势、数据追踪、BI图表、性能与优化和服务器管理于一体的数据管理服务。DBS沙箱功能创建的DMS任务,默认使用DMS免费版功能,用户可在DMS控制台自行配置其它付费功能。
监控管理:DBS沙箱功能对接了阿里云数据库自治服务DAS。DAS是一种基于机器学习和专家经验实现数据库自感知、自修复、自优化、自运维及自安全的云服务,帮助用户消除数据库管理的复杂性及人工操作引发的服务故障,有效保障数据库服务的稳定、安全及高效。DBS沙箱功能创建的DAS任务,默认使用DAS免费版功能,用户可在DAS控制台自行配置其它付费功能。

4. 定制您的DBS沙箱解决方案

无论您的数据库部署在哪里,DBS的备份和沙箱功能都提供了对应的接入方案:
• ECS上的自建数据库(创建DBS物理备份)
• 线下数据库(创建专线和DBS物理备份)
• RDS数据库(通过DBS控制台导入)
目前已经多个知名企业参与了DBS沙箱功能的内测,覆盖了以上各种接入类型。目前沙箱功能内测已经进行了7个月,我们已经在国内多个地域,包括北京、上海、杭州、深圳等正式发布沙箱功能,未来会发布到包括海外站在内的更多阿里云站点。
DBS沙箱功能提供了非常灵活的售卖模式,包括免费试用、付费商用两种模式。其中免费模式默认有一定的限制,例如存储容量不超过100G,以及单个备份计划的沙箱实例个数不超过1个等。用户完全可以先从免费试用模式开始,探索DBS沙箱功能带来的二级数据各种可能的业务玩法。付费模式的计费项,包含存储计费和实例计费2项(类似阿里云ECS产品的实例,包含按云盘容量计费,以及ECS实例规格计费),这两项计费项都是按照使用时长按量计算,未来也会推出预付费的资源包,具体单价近日将正式公布。

这里我们定义一个典型DBS用户,估算其开启沙箱功能前后的成本。
• 采购DBS middem规格实例(单价224元/月)
• 每天产生全量备份集,每个备份集数据量为100G,保留最近3个月的备份数据(单价0.12元/GB月)
参考DBS的按量付费单价(暂不考虑存储资源包和数据压缩对存储费用的影响),那么该用户的初始成本为
244元/月 + 0.12元/GB月100GB/份3月*30份/月 = 1304元/月

回顾本文第一段提到的各种二级数据应用场景:开发测试、应急容灾、历史分析,用户通常不需要为所有的历史备份数据集创建快照。DBS支持为沙箱功能设置独立的生命周期管理策略
• 最近1天的备份数据作为沙箱存储(参考单价1元/GB月)
• 每个月发生一次应急容灾,每次需要创建一个中等规格的沙箱实例,持续12小时(参考单价0.395元/天)
用户开启沙箱功能的新增成本
150GB1元/月+0.5天/月*0.395元/天 = 50.2元/月

也就是说对于这个典型用户,开启DBS沙箱功能后,付出的额外成本仅相当于原有备份成本的3.8%,而获得的收益则是在原有的备份恢复能力基础上,使得在线数据库具备了秒级容灾能力(成功抵抗每月12小时的生产库的高故障率)。需要注意,截止本文发稿,DBS沙箱实例计费单价还未正式公布,因此以上参考单价仅作为参考,真实价格请以阿里云官网发布的价格为准。

5. 如何快速入门,免费试用沙箱功能?

DBS沙箱功能,可以让您从目标备份集快速创建新的数据库实例,让您的备份数据秒级可用。多个沙箱实例之间的读写不会互相影响,也不会影响原数据库。

如需了解如何快速掌握创建、免费试用DBS沙箱的操作,请点击:https://help.aliyun.com/document_detail/185577.html

直播预告

11月18日 14:00-15:00


邀您一起见证

云原生数据库备份DBS新版本发布

扫描下图二维码或点击


https://yqh.aliyun.com/live/detail/21077


预约观看直播发布会

800-云原生数据库备份DBS新版本发布会.jpg

目录
相关文章
|
8月前
|
JSON 监控 API
京东商品列表 API 接口系列(京东 API)
京东商品列表API接口为开发者提供获取店铺内商品详细信息的功能,包括名称、价格、库存、图片、ID、销量等。通过HTTP GET请求并包含必要参数(如店铺ID、API密钥),可获取JSON格式的商品列表数据,适用于展示、库存管理、价格监控等场景。示例代码展示了使用Python调用该接口的方法,返回的数据包含状态码、商品总数、分页信息及具体商品详情。
|
5月前
|
机器学习/深度学习 并行计算 PyTorch
英伟达新一代GPU架构(50系列显卡)PyTorch兼容性解决方案
本文记录了在RTX 5070 Ti上运行PyTorch时遇到的CUDA兼容性问题,分析其根源为预编译二进制文件不支持sm_120架构,并提出解决方案:使用PyTorch Nightly版本、更新CUDA工具包至12.8。通过清理环境并安装支持新架构的组件,成功解决兼容性问题。文章总结了深度学习环境中硬件与框架兼容性的关键策略,强调Nightly构建版本和环境一致性的重要性,为开发者提供参考。
2377 64
英伟达新一代GPU架构(50系列显卡)PyTorch兼容性解决方案
|
10月前
|
存储 编解码 算法
发到朋友圈的图片为什么会变糊?iPhone的live实况图是什么格式的图片?
本文介绍了iPhone Live实况图的格式(.livp)、社交平台图片变糊的原因、图像编码压缩的基本过程(变换、量化、熵编码),以及HEIF格式及其与HEVC的关系。HEIF格式具有体积小、颜色丰富、内容灵活等优势,适用于高效图像存储与传输。
|
机器学习/深度学习 算法 数据挖掘
【机器学习】深度学习20个笔试题
本文提供了一份包含20个问题的深度学习笔试试题集。
502 0
分享一些在 1688 上找一件代发商品的技巧
在1688上找一件代发商品需明确自身需求与定位,筛选可靠供应商,研究商品信息,利用精准搜索和平台推荐,关注活动,并与供应商充分沟通,确保合作顺畅。
|
人工智能 Cloud Native 算法
数据之势丨AI时代,云原生数据库的最新发展趋势与进展
AI与云数据库的深度结合是数据库发展的必然趋势,基于AI能力的加持,云数据库未来可以实现更快速的查询和决策,帮助企业更好地利用海量数据进行业务创新和决策优化。
数据之势丨AI时代,云原生数据库的最新发展趋势与进展
|
分布式计算 搜索推荐 Hadoop
03 Hadoop国内外应用案例介绍
03 Hadoop国内外应用案例介绍
776 0
|
存储 关系型数据库 数据库
请解释一下云数据库的备份和恢复策略。
请解释一下云数据库的备份和恢复策略。
239 0
|
机器学习/深度学习 缓存
RNN又行了!DeepMind新发布的Griffin可以与同级别的LLM性能相当
Hawk和Griffin是DeepMind推出的新型循环神经网络(RNNs),2月刚刚发布在arxiv上。Hawk通过使用门控线性递归(gated linear recurrences)超越了Mamba的性能,而Griffin则是一种混合型模型,结合了门控线性递归和局部注意力(local attention),与Llama-2的性能相当,但使用的训练数据明显较少。Griffin在处理比训练时更长的序列时表现出色。这两种模型在硬件效率方面与Transformer相当,但在推理过程中具有更低的延迟和更高的吞吐量。Griffin的规模已扩展到了140亿个(14B)参数。
407 3
|
Web App开发 网络协议 数据安全/隐私保护
Win系统 - 如何解决 ERR_PROXY_CONNECTION_FAILED 错误?
Win系统 - 如何解决 ERR_PROXY_CONNECTION_FAILED 错误?
3410 0
Win系统 - 如何解决 ERR_PROXY_CONNECTION_FAILED 错误?