您现在的位置:希赛教育首页 > 研究生院 > 计算机网络 > 正文
网络数据库的并发控制[1]
http://www.educity.cn 作者:高阳、王坚强等 来源:中南大学 2009年6月25日 发表评论 进入社区

    9.1 网络数据库的并发控制

    并发控制是指在网络环境下对数据库的并发操作进行规范的机制。并发控制的作用主要是协调同一时间访问同一数据库文件的多个事务之间的关系,防止这些事务之间发生冲突。

    9.1.1 事务

    事务(transaction)是数据库的逻辑工作单元,它是一组对数据的操作序列。事务是并发控制的基本单位。

    事务具有以下四个基本特性:

    (1)原子性(atomicity)。

    (2)一致性(consistency)。

    (3)隔离性(isolation)。

    (4)持续性(durability)。

    这四个性质又被称为事务的ACID准则。

    9.1.2 并发控制的必要性

    数据库并发操作导致数据不一致的三种情况:

    1. 丢失更新

    当两个事务T1和T2读入同一数据,并发执行修改操作时,T2把T1或T1把T2的修改结果覆盖掉,造成了数据的丢失更新(lost update)问题,导致数据的不一致。它是由于两个事务对同一数据并发写入引起的,称为写-写冲突(write-write conflict)。

    2. 脏读

    事务T2读取了T1更新后的数据R,其后T1由于某种原因撤销修改,数据R恢复原值,导致T2得到的数据与数据库的内容不一致。这种由于一个事务读取另一个更新事务尚未提交的数据引起的不一致问题,称为脏读(dirty read),或读-写冲突(read-write conflict)。

    3. 不可重读

    事务T1读取数据R后,T2读取并更新了R,当T1再次读取R时,得到的两次读取值不一致,这种现象称为不可重读(unrepeatable read),它也是由于读-写冲突引起的。

    由此可见,为保证数据操作的正确性和一致性,必须进行并发控制。

    本文属于【计算机网络课程复习汇总】其中的一部分,点击查看其他章节。 

[1]  [2]  [3]  [4]