并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况?

大学 可能会,情况,操作 已帮助 人

并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况?

请帮忙给出正确答案和分析,谢谢!

热搜:主销后倾角不正确会使轮胎产生哪种磨损

答案解析

难度★★☆ 搜索
  • 正确答案:并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏”数据。 (1)丢失修改(Lost Update) 两个事务T1和T2读入同一数据并修改T2提交的结果破坏了(覆盖了)T1提交的结果导致T1的修改被丢失。 (2)不可重复读(Non-Repeatable Read) 不可重复读是指事务T1读取数据后事务T2执行更新操作使T1无法再现前一次读取结果。 (3)读“脏”数据(Dirty Read) 读“脏”数据是指事务T1修改某一数据并将其写回磁盘事务T2读取同一数据后T1由于某种原因被撤销这时T1已修改过的数据恢复原值T2读到的数据就与数据库中的数据不一致则T2读到的数据就为“脏”数据即不正确的数据。 避免不一致性的方法和技术就是并发控制。最常用的技术是封锁技术。也可以用其他技术如在分布式数据库系统中可以采用时间戳方法来进行并发控制。
    并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏”数据。(1)丢失修改(LostUpdate)两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了(覆盖了)T1提交的结果,导致T1的修改被丢失。(2)不可重复读(Non-RepeatableRead)不可重复读是指事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果。(3)读“脏”数据(DirtyRead)读“脏”数据是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销,这时T1已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致,则T2读到的数据就为“脏”数据,即不正确的数据。避免不一致性的方法和技术就是并发控制。最常用的技术是封锁技术。也可以用其他技术,如在分布式数据库系统中可以采用时间戳方法来进行并发控制。