
并发控制
发布日期: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秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
工具-snipate(截图)
2019-03-01
java有包名的类访问没有包名的类
2019-03-01
python中快速删除重复元素
2019-03-01
手绘导图版:深入解析机器学习在风控场景中的8大应用
2019-03-01
长期豪赌人工智能,Alphabet是怎样一步一步偷偷改变世界的?
2019-03-01
手把手教你用Python的NumPy包处理数据
2019-03-01
TIOBE 12月编程语言排行榜:Python有望第四次成为年度语言
2019-03-01
Python循环语句代码逐行详解:while、for、break和continue
2019-03-01
如何让图表更有说服力?6大准则和1个经典案例给你讲明白
2019-03-01
吐血整理:43种机器学习开源数据集(附地址/调用方法)
2019-03-01
linux sort与awk
2019-03-03
详细分析下用于交互的Scanner
2019-03-03
Java方法板块学习经验分享
2019-03-03
Kotlin学习之变量和函数的讲解
2019-03-03
Java--泛型(通配符、泛型边界、泛型与继承)
2019-03-03
Mybatis--标准日志工厂
2019-03-03
Spring--简介
2019-03-03
Spring--IoC理论推导&IoC本质
2019-03-03
读入两个参数
2019-03-03
斐波纳契数
2019-03-03