跳转到内容

并发控制:修订间差异

维基百科,自由的百科全书
删除的内容 添加的内容
第2行: 第2行:


==数据库管理系统中的并发控制==
==数据库管理系统中的并发控制==
[[数据库管理系统]](DBMS)中的并发控制的任务是确保在多个事同时存取[[数据库]]中同一数据时不破坏事物的隔离性和统一性以及[[数据库]]的统一性。下面举例说明并发操作带来的数据不一致性问题:
[[数据库管理系统]](DBMS)中的并发控制的任务是确保在多个事同时存取[[数据库]]中同一数据时不破坏事物的隔离性和统一性以及[[数据库]]的统一性。下面举例说明并发操作带来的数据不一致性问题:
:现有两处火车票售票点,同时读取某一趟列车车票数据库中车票余额为 X。两处售票点同时卖出一张车票,同时修改余额为 X -1写回数据库,这样就造成了实际卖出两张火车票而数据库中的却记录只少了一张。
:现有两处火车票售票点,同时读取某一趟列车车票数据库中车票余额为 X。两处售票点同时卖出一张车票,同时修改余额为 X -1写回数据库,这样就造成了实际卖出两张火车票而数据库中的却记录只少了一张。
产生这种情况的原因是因为两个事物读入同一数据并同时修改,其中一个事物提交的结果破坏了另一个事物提交的结果,导致其数据的修改被丢失,破坏了事物的隔离性。并发控制要解决的就是这类问题。
产生这种情况的原因是因为两个事物读入同一数据并同时修改,其中一个事物提交的结果破坏了另一个事物提交的结果,导致其数据的修改被丢失,破坏了事物的隔离性。并发控制要解决的就是这类问题。


[[封锁 (数据库)|封锁]]、[[时间戳]]、[[乐观并发控制]]和[[悲观并发控制]]是并发控制主要采用的技术手段。
[[封锁 (数据库)|封锁]]、[[时间戳]]、[[乐观并发控制]]和[[悲观并发控制]]是并发控制主要采用的技术手段。

==参考==
==参考==
*{{Translation/Ref|lang=en|article=Concurrency control|oldid=}}
*{{Translation/Ref|lang=en|article=Concurrency control|oldid=}}

2011年3月17日 (四) 00:58的版本

计算机科学,特别是程序设计操作系统多重处理数据库等领域,并发控制是确保及时纠正由并发操作导致的错误的一种机制。

数据库管理系统中的并发控制

数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事物的隔离性和统一性以及数据库的统一性。下面举例说明并发操作带来的数据不一致性问题:

现有两处火车票售票点,同时读取某一趟列车车票数据库中车票余额为 X。两处售票点同时卖出一张车票,同时修改余额为 X -1写回数据库,这样就造成了实际卖出两张火车票而数据库中的却记录只少了一张。

产生这种情况的原因是因为两个事物读入同一数据并同时修改,其中一个事物提交的结果破坏了另一个事物提交的结果,导致其数据的修改被丢失,破坏了事物的隔离性。并发控制要解决的就是这类问题。

封锁时间戳乐观并发控制悲观并发控制是并发控制主要采用的技术手段。

参考

  • 王珊 萨师煊. 数据库系统概论 (M) 4. 北京: 高等教育版社. 2006. ISBN 7-04-019583-6. 

外部链接