《数据库原理》知识点之数据库的并发控制
展开全部
数据库的并发控制
并发控制带来的三类问题
(1)丢失更新的问题
(2)不一致分析问题
(3)“脏数据”的读出。(在数据库技术中,未提交的随后又被撤消的数据为“脏数据”。)
以上三类问题结合多事务的并行操作进行理解。
举例
[例题] 设T1,T2,T3是如下三个事务,其中R为数据库中某个数据项,设R的初值为0.
T1:R:=R+5
T2:R:=R*3
T3:R:=2
若允许三个事务并行执行,试列出所有可能的正确结果。采用什么手段,可以解决并行调度的不一致问题?
答:有6种可能的情况
(1)T1-T2-T3: R=2
(2)T1-T3-T2: R=6
(3)T2-T1-T3: R=2
(4)T2-T3-T1: R=7
(5)T3-T1-T2: R=21
(6)T3-T2-T1: R=11
采用封锁,可以解决并行调度的不一致问题。
为解决并发控制带来的问题,通常要采用封锁(locking)技术,常用的封锁有:排它型封锁(X封锁)和共享型封锁(S封锁)两种。
并发控制中,有许多概念都要掌握:封锁,X封锁,S封锁,PX协议,PXC协议,PS协议,PSC协议,活锁,死锁,可串行化调度,不可串行化调度,两段封锁协议
并发控制带来的三类问题
(1)丢失更新的问题
(2)不一致分析问题
(3)“脏数据”的读出。(在数据库技术中,未提交的随后又被撤消的数据为“脏数据”。)
以上三类问题结合多事务的并行操作进行理解。
举例
[例题] 设T1,T2,T3是如下三个事务,其中R为数据库中某个数据项,设R的初值为0.
T1:R:=R+5
T2:R:=R*3
T3:R:=2
若允许三个事务并行执行,试列出所有可能的正确结果。采用什么手段,可以解决并行调度的不一致问题?
答:有6种可能的情况
(1)T1-T2-T3: R=2
(2)T1-T3-T2: R=6
(3)T2-T1-T3: R=2
(4)T2-T3-T1: R=7
(5)T3-T1-T2: R=21
(6)T3-T2-T1: R=11
采用封锁,可以解决并行调度的不一致问题。
为解决并发控制带来的问题,通常要采用封锁(locking)技术,常用的封锁有:排它型封锁(X封锁)和共享型封锁(S封锁)两种。
并发控制中,有许多概念都要掌握:封锁,X封锁,S封锁,PX协议,PXC协议,PS协议,PSC协议,活锁,死锁,可串行化调度,不可串行化调度,两段封锁协议
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询