系统架构设计师:数据备份和容灾

1.数据转储

        所谓数据转储是DBA定期地将整个数据库复制到磁盘上保存起来的过程。这些备用的数据文本成为后备副本或者后援副本。用于恢复数据,增强数据库的容灾能力。

       数据转储非常耗费时间和资源,不能频繁进行。分为静态转储和动态转储。

       静态转储是在系统中无运行事务时进行的转储操作,即转储操作开始的时刻,数据库处于一致性状态,二转储期间不允许(或者不存在)对数据库的任何存取、修改活动。显然,静态转储得到的一定是一个数据一致性的副本。静态转储简单,但是转储必须等待正运行的用户事务结束才能进行,同样,新的事务必须等待转储结束才能执行。这显然会降低数据库的可用性。

       动态转储是指转储期间允许对数据库进行存取或者修改,即转储和用户事务可以并发执行。动态转储可克服静态转储的缺点,它不用等待正在运行的用户事务结束,也不会影响新事务的运行。但是,转储结束时后备副本上的数据并不能保证正确有效。比如,在转储T0时刻,系统把数据A=100转储到磁盘上,而在下一时刻T1,某一个事务将A修改为200。转储结束,后备副本上的A已经是过时的数据了。为此,必须把转储期间的各事务对数据库的修改活动登记下来,建立日志文件。这样,后备副本加上日志文件就能把数据库恢复到某一时刻的争取状态。

        转储还分为全量转储和增量转储。

2.日志文件

        日志文件是用来记录事务对数据库的更新操作的文件,不同数据库管理系统采用的日志文件格式不完全一样,主要有:以记录为单位的日志文件和以数据块为单位的日志文件。

        以记录为单位的日志文件,必须登记:

        各个事务的开始标志(begin transaction)

        各个事务的结束标志(commit 或roll back)

        各个事务的所有更新操作。

每个日志记录的内容包括:

        事务标识(标明是哪个事务)、操作的类型(插入、删除或者修改)、操作对象(记录内部标识)、更新前数据的旧值(对插入操作而言,此为空值)、更新后数据的新值(对删除操作而言,此为空值)。

        日志文件在数据库恢复中起着非常重要的作用。可以用来进行实物故障恢复和系统故障恢复,并协助后备副本进行介质故障恢复。利用日志文件,把已经完成的事务进行重做处理(REDO),对故障发生时尚未完成的事务进行撤销处理(UNDO)。

        为保证数据库是可恢复的,登记日志文件时必须遵循两条原则:

         登记的次序严格按照并发事务执行的时间次序;

         必须先写日志文件,后写数据库。

3.数据容灾

         容灾的登记划分:本地容灾、异地数据冷备份、异地数据热备份、异地应用级容灾。

         容灾的技术:数据备份技术、数据复制技术、灾难检测技术、系统迁移技术。

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值