哪本书中有关于 事务 一级,二级, 三级, 四级锁协议的内容?

哪本书中有关于 事务 一级,二级, 三级, 四级锁协议的内容

阅读 4.4k
3 个回答

事务的概念倒是很多书都有讲,但是没见过什么"X级锁协议"。搜了一下,只有某些博客和某些题库有这种说法。不要被这种说法迷惑了,找权威资料看是没错的。而最权威的就是论文了。
Granularity of Locks and Degrees of Consistency in a Shared Data Base
引用数619,可以看出是很权威的。
这篇论文前半讲了锁粒度,后半讲了一致性程度(顶端页码379页),然后给出了4个一致性级别的定义(380页),最后针对不同等级的一致性给出了相应的锁协议(382页)。

The lock protocols are:
Degree 3: transaction T observes degree 3 lock protocol if:
    (a) T sets a long exclusive lock on any data it dirties.
    (b) T sets a long share lock on any data it reads.
Degree 2: transaction T observes degree 2 lock protocol if:
    (a) T sets a long exclusive lock on any data it dirties.
    (b) T sets a (possibly short) share lock on any data it reads.
Degree I: transaction T observes degree 1 lock protocol if:
    (a) T sets a long exclusive lock on any data it dirties.
Degree 3: transaction T observes degree 0 lock protocol if:
    (a) T sets a (possibly short) exclusive lock on any data it
     dirties.

所以,这个"X级锁协议"的说法,实际上是"针对X级一致性的锁协议"。实际上,数据库的ACID属性,都是围绕一致性(Consistency)的,原子性(Atomicity)和持久性(Durability)是为了保证数据总在某个一致的状态,而因为强一致性会导致很大的性能损失,所以做了妥协,把一致性划分为几个等级(degree of consistency),然后演变成了隔离性(Isolation)。
实际使用中,大部分数据库都是在可重复读级别,所以其他级别的讨论和资料都比较少。

书的话,当然是这本:
《事务处理:概念和技术》,就是上面那篇论文的作者Jim Gray大师写的,可以说是奠定关系数据库基础的书。可惜国内已经绝版,不过真想看的话也不是没办法。
封面

《MYSQL内核:INNODB存储引擎》和《高性能MySQL》都有相关内容

这几篇文章或许也能帮到你

[Mysql]——通过例子理解事务的4种隔离级别:
https://www.cnblogs.com/snsdz...

数据库并发的五个问题以及四级封锁协议与事务隔离的四个级别
http://blog.csdn.net/zhangzey...

谢谢 这些资料已经看过了 说实话 感觉不太权威, 毕竟好几篇资料描述的大相径庭 我似乎已经找到了些资料 稍后有空会整理出笔记来 谢谢

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题