在计算机科学,特别是程序设计、操作系统、多处理机和数据库等领域,并发控制()是确保及时纠正由并发操作导致的错误的一种机制。
数据库管理系统中的并发控制
数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。下面举例说明并发操作带来的数据不一致性问题:
:现有两处火车票售票点,同时读取某一趟列车车票数据库中车票余额为 X。两处售票点同时卖出一张车票,同时修改余额为 X -1写回数据库,这样就造成了实际卖出两张火车票而数据库中的记录却只少了一张。
产生这种情况的原因是因为两个事务读入同一数据并同时修改,其中一个事务提交的结果破坏了另一个事务提交的结果,导致其数据的修改被丢失,破坏了事务的隔离性。并发控制要解决的就是这类问题。
封锁、时间戳、乐观并发控制和悲观并发控制是并发控制主要采用的技术手段。
参考文献
*
- {{cite book zh |authors=王珊、萨师煊 |title=数据-{}-库系统概论 |format=M |edition=4 |location=北京 |publisher=高等教育版社 |year =2006 |pages = |ISBN = 7-04-019583-6 }}
外部链接
- [http://c2.com/cgi/wiki?SynchronizationStrategies Portland Pattern Repository: Synchronization Strategies]
- [http://c2.com/cgi/wiki?CategoryConcurrency Portland Pattern Repository: Category Concurrency]
- [http://www.methodsandtools.com/archive/archive.php?id=83 Database Locking: What it is, Why it Matters and What to do About it]
评论 (0)