并发控制
发布日期:2021-05-04 14:38:19 浏览次数:9 分类:技术文章

本文共 797 字,大约阅读时间需要 2 分钟。

数据库是一个共享资源,可以供多个用户使用。允许多个用户同时使用同一个数据库的数据库系统称为多用户数据库系统。

在这样的系统中,在同一时刻并发运行的事务可达数百上千个。
事务可以一个一个的串行执行,即每个时刻只有一个事务运行,其他事务必须等到这个事务结束以后方能运行
因此,为了充分利用系统资源,发挥数据库共享资源的特点,应该允许多个事务并行的执行。
在单处理系统中,事务的并发执行实际上是这些并行事务的并行操作轮流交叉运行,这种并行执行方式称为交叉并发方式。

在多处理机系统中,每个处理机可以运行一个事务,多个处理机可以同时运行多个事务,实现多个事务真正的并发运行,这种并发执行方式称为同时并发方式。

并发控制概述

事务是并发控制的基本单位

保证事务的acid特性是事务处理的重要任务,而事务的acid特性可能遭到破坏的原因之一是多个事务对数据库的并发操作造成的。为了保证事务的隔离性和一致性,数据库管理系统需要对并发操作进行正确调度。这些就是数据库管理系统中并发控制机制的责任。

并发操作带来的数据不一致性包括丢失修改,不可重复读,读“脏”数据

1.丢失修改

二个事务t1和t2读入同一数据并修改,t2提交的结果破坏了t1提交的结果,导致t1的修改被丢失。

2.不可重复读

不可重复读是指事务t1读取数据后,事务t2执行更新操作,使t1无法再现前一次读取结果。(修改,删除,插入)

3.读“脏”数据

读“脏”数据是指事务t1修改某一数据并将其写入磁盘,事务t2读取同一数据后,t1由于某种原因被撤销,这时被t1修改过的数据恢复原值,t2读到的数据与数据库中的数据不一致,则t2读到的数据为“脏”数据,即不正确的数据。

产生上述三类数据不一致的主要原因是并发操作破坏了事务的隔离性,并发控制机制就是要用正确的方式调度并发操作,使一个用户事务的执行不受其他事务的干扰,从而避免造成数据的不一致性。

上一篇:异常的基本概念
下一篇:数据库-故障的种类

发表评论

最新留言

不错!
[***.144.177.141]2025年03月12日 10时56分11秒