Chinaunix首页 | 论坛 | 博客
  • 博客访问: 427462
  • 博文数量: 239
  • 博客积分: 8010
  • 博客等级: 中将
  • 技术积分: 2431
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-02 21:12
文章分类
文章存档

2008年(239)

我的朋友

分类:

2008-06-17 22:54:55

数据库一致性的保证措施

数据库的一致性非常关键。通过前面章节的介绍,我们知道数据库系统采取了许多有力措施,来保证数据的一致性。主要有:事务和并发控制、数据库日志、检查点操作、备份和恢复。

 

1. 事务和并发控制机制

 

在数据库系统中,对数据的更新处理以事务为操作单元,事务的原子性要求保证了单个事务的数据一致性。对多个事务的并发处理,并发控制机制实现了事务的可串行化调度,避免了事务之间的互相影响,保证了整个数据库的一致性。有关事务和并发控制机制的进一步讨论,可以参看第6章。

 

2. 数据库日志

 

数据库系统中对数据的任何更新处理,都要记录操作日志。任何数据库系统都遵循先写日志的原则。通过数据库日志,系统在保证单个事务数据一致性的同时,又保证系统恢复时能够使整个数据库处于一致状态。有关数据库日志的详细描述,可以参看第7章。

 

3. 检查点操作

 

当系统发生故障时,原则上可以通过搜索整个日志记录,决定那些事务需要重做,那些事务需要回退,从而使数据库处于一致性状态。然而这种做法的缺陷也比较明显:

1)搜索时间太长

2)恢复过程中的大多数工作是不必要的

大多数需要重做的事务都已经将其更新写入磁盘,尽管重做这些操作不会造成不良后果,但会使恢复过程变得很漫长。

为避免这些缺陷,数据库系统引入了检查点操作。检查点操作定期执行,将当前内存中的日志信息、被更新的数据块写入磁盘,然后在日志文件中增加检查点标记。在系统恢复时,以日志文件中的最后一个检查点标记为分界线,决定那些事务需要重新执行,那些事务需要回退。有关检查点操作的详细描述,可参看第2.2.68.4.1两节。

 

4. 备份和恢复

 

数据库系统的备份和恢复机制,在系统遭到破坏后能够恢复数据库的原有数据,使数据库重新处于一致性状态。这就是我们这一章需要讨论的内容。

阅读(1031) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~