故障恢复+并发控制

Posted cing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了故障恢复+并发控制相关的知识,希望对你有一定的参考价值。

事务:用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。

ACID特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持续性(Durability)。

 

故障种类:事务内部故障、系统故障、介质故障、计算机病毒。

恢复机制关注两个问题:

1)如何建立冗余数据。

2)如何利用这些冗余数据实施数据库恢复。

建立冗余数据:

1)数据转储:DBA定期将整个数据库复制到磁带或另一个磁盘上保存。

技术分享图片

 静态转储:在系统中无运行事务时进行转储。即转储操作开始时,数据库处于一致性状态,而转储期间不允许对数据库进行任何存取、修改。

动态转储:转储期间允许对数据库进行存取、修改。需要把转储期间各事务对数据库的修改活动登记下来,建立日志文件。

海量转储:每次转储全部数据库。

增量转储:每次只转储上一次转储后更新过的数据。

2)登记日志文件

技术分享图片

遵循两条原则:

A.登记的次序严格按并发事务执行的时间顺序。

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

恢复策略:

(1)事务故障的恢复

事务故障指事务在运行至正常终止点前被终止。

恢复子系统利用日志文件撤销此事务已对数据库进行的修改,由系统自动完成,对用户透明。

(2)系统故障的恢复

系统故障指未完成事务对数据库的更新可能已写入数据库或已提交事务对数据库的更新可能还留在缓冲区没来得及写入数据库。

恢复操作是要撤销故障发生时未完成的事务,重做已完成的事务。由系统重启时自动完成,不需用户干预。

(3)介质故障的恢复

介质故障指磁盘上的物理数据和日志文件被破坏。

恢复方法是重装数据库,然后重做已完成的事务。

具有检查点的恢复技术:

利用日志技术恢复数据库时,恢复子系统需要搜索日志,确定哪些需要REDO,哪些需要UNDO。耗费时间,且重做了REDO。

检查点的恢复技术:在日志文件中增加检查点记录。内容共包括:建立检查点时刻所有正在执行的事务清单;这些事务最近一个日志记录的地址。

数据库镜像:

DBA周期性的转储数据库,负担重。

数据库镜像:每当数据库更新时,自动把整个数据库或关键数据复制到另一个磁盘上。

 

以上是关于故障恢复+并发控制的主要内容,如果未能解决你的问题,请参考以下文章

数据库事务的概念及其实现原理

数据库绪论

java 文件下载,支持任务暂停,恢复,断点续传;任务状态查询;任务并发控制

ElasticsearchElasticsearch 最佳实践系列之分片恢复并发故障

64.基于全局锁实现悲观锁并发控制

支付系统开发中可能遇到的问题