首页   >   S   >
    数据库日志备份

数据库日志备份

2020-08-19

1.什么是数据库备份DBS

数据库备份(简称DBS)是阿里云提供的低成本、高可靠的一站式备份和恢复服务。DBS提供秒级恢复、备份数据湖分析等能力,可触达本地数据中心、其他云厂商、专有云及公共云等环境,构建企业级混合云统一备份平台。

2.有效的数据库备份策略

备份恢复的方案很多,下面是SHARE提出来的7层恢复能力,能力越强,价值越高,成本也越高。备份恢复有很强的专业性,尤其是在数据库领域,数据的一致性,任意时间点恢复,表级别甚至行级别的恢复,恢复的操作流程等都是难点。不同的平台上不同的数据库的备份方案也不尽相同。

备份策略通常遵循321原则(也叫3R原则)

1、Redundancy:同一数据至少保留三份,包括原数据;

2、Replication:保存到二种以上存储介质上,比如光盘、硬盘、云存储;

3、Remote:至少有一份异地备份,本地灾难后还可恢复。

数据库备份是较为专业的备份领域,需要关注备份的可恢复性,一致性,RPO,RTO等等。

数据库跟普通文件不同,由于数据库有缓存,事务,日志的机制,直接备份数据库所有的磁盘文件,恢复时可能根本打不开数据库。

RPO跟备份策略有关系,最近一次的备份调度周期影响了最近可用的恢复点,同时数据库日志的备份可以帮助实现任意时间点的恢复。

RTO跟备份方式和恢复策略有关,业界最强可以做到任意大库(甚至是分布式数据库)秒级恢复,在本文后面会介绍到秒级恢复。

3、数据库备份的分类

通常备份厂商提供的数据库备份都是物理备份,实际上,根据备份数据的获取方式,数据库备份可以分为逻辑备份和物理备份。

物理备份:将数据库的数据文件和日志文件备份出来,需要借助数据库的备份恢复接口、操作系统的增量数据获取方法以及一致性保障方法进行备份,难点在于如何无入侵获取全量和增量数据。如果把数据库以文件的方式备份出来,那么这个数据库大概率是拉不起来的。一些商业数据库如Oracle等备份恢复内容和流程较为复杂,需要丰富的数据库运维经验。

逻辑备份:将数据库的全量和实时增量数据转化成一种中间格式,恢复到不同版本和不同的数据库中。难点在于如何无锁地获取一致性全量数据,以及如何解析出实时增量数据。全量备份可以借助数据库的dumper/loader实现,但通常这些dumper需要对数据库上锁以获得一致性备份点。实时增量数据通常是借助日志解析实现的,其他方法如物化视图、trigger等都对业务有一定影响,开源数据库可以通过一些开源工具解析出实时增量数据,但是稳定的工具并不多,而商业化数据库的日志解析也都不开放。

根据数据库的数据和文件特性,又可将数据库备份分为数据备份和日志备份:

数据备份:全量、增量和差异备份

1、全量备份:所有数据的备份。

2、增量备份:最近一次全量或者增量备份之后的新增数据备份。恢复时,需要回放最近一次全量备份以及这次全量之后的所有增量。增量备份减少了用户备份的数据量,避免频繁的全量备份带来的开销。

3、差异备份:最近一次全量之后的新增数据,跟增量备份不同的是,不论最近一次全量之后有多少次差异备份,新增数据都是从最近一次全量之后的变化数据,所以多次差异备份之间是逐步叠加的过程。恢复时,需要回放最近一次全量备份以及最近一次差异备份。

日志备份:借助日志备份可以实现任意时间点的一致性备份。

例如,SQL Server的物理备份可以提供全量、差异、日志备份能力:

如果具备增量合并和历史数据打快照的能力,则可实现一次全量永久增量,每一个增量备份点都能提供全量数据,以更小的备份代价实现更快的恢复速度。尽管如此,为了保障备份恢复正确性,通常还是会周期性做全量,只是会减少全量周期的频率。

在备份策略的选择中,物理备份相对逻辑备份在恢复的速度上更快,逻辑备份相对物理备份在恢复的版本和用途上更灵活,两种备份手段最终都可以实现行级别恢复;通过全、增、差、日志组合的备份计划,一方面考虑备份的成本,一方面考虑恢复的速度,不管是备份的原始全量还是合并出来的全量,全量周期都是恢复的关键因素之一。

4、阿里云数据库备份DBS 不同场景多种方案

备份恢复的产品在过去较长时间都是几个头部的大厂垄断,Data Domain,Veritas等,支持数据库、文件、VM等数据源的全增量备份,借助自己的存储和重删技术保留在本地或分布式文件系统中,并支持长期归档到磁带库和蓝光盘等归档媒介里。

过去几年,虚拟化技术带来了新的备份恢复形态,涌现了一些rubrik和cohesity等创新的厂商。不管是传统还是新型备份厂商,都会借助云厂商的对象存储等低价存储方案来替代磁带库和光盘塔成为归档和异地备份的存储媒介。长期来说,云厂商由于同时具备数据库和VM的生产资料,云厂商的备份恢复的生态将会更加丰富。

DBS是阿里云出品的一款数据库备份产品:

完善和安全的自动备份机制:全量、增量和日志备份,逻辑备份和物理备份,传输和存储加密,数据CRC校验;

高性能恢复机制:秒级恢复,云容灾,一键恢复到RDS MySQL和SQL Server;

低成本的备份存储:可靠的存储,热数据有快照和秒级挂载,冷数据能长期归档;

无死角备份冗余:跨地域、跨账户、跨云备份,本地手工和自动下载

开放的备份数据:数据湖DLA,秒级挂载,支持业务的各种分析和开发测试需求,盘活冷数据。

DBS可以帮助客户实现跨云、线下备份到云上、阿里云自建ECS以及云数据库等不同环境的数据库备份。

客户可能会面临不同需求,例如:借助备份上云可以实现云上无限存储容量;可以借助极致弹性实现大促或者定时报表分析等按需计算的需求;可以解决多云多环境冗余等数据安全的需求;亦可以借助备份恢复实现开发测试、线上验证等隔离环境搭建。

DBS目前支持Oracle、MySQLSQL ServerPostgreSQLMongoDBRedis云原生数据库PolarDB云原生分布式数据库PolarDB-X的备份恢复。

物理备份需要安装DBS的备份网关,备份恢复性能佳:

Oracle,支持多流并发备份和挂载备份两种模式的物理备份,挂载备份可秒级挂载。

MySQL,支持多流并发物理备份和秒级挂载。

SQL Server,支持多库物理备份。

而逻辑备份是无入侵和无锁备份,备份恢复的版本和粒度更为灵活,可支持表/SQL级别备份,同时备份的全量数据可被数据湖DLA分析,并通过DLA实现行级别恢复。

部分备份的数据可以一键恢复到阿里云数据库,例如,MySQL逻辑备份一键恢复到RDS,SQL Server物理备份一键恢复到RDS。可以按需创建和释放RDS,实现恢复演练,按需查询,弹性计算等功能。不论源端数据库在什么环境,都可以享受到云数据库的弹性和稳定性。

MySQL和Oracle备份的秒级挂载的功能,正在内测,欢迎大家试用。借助备份数据的秒级挂载,可搭建丰富的应用生态,保障生产库小而美,解决一些业务痛点和顽疾,比如可实现非生产环境的秒级恢复,可实现应用之间隔离避免环境相互影响,可帮助业务快速搭建开发测试环境等,还可拉起精准时间点的数据库实例进行数仓分析,数据拖取,复杂计算等等。