CMU15-445笔记(十六)
并发控制
基于时间戳的协议
时间戳
对于系统中的每个事务$T_i$,赋予它一个时间戳,记为$TS(T_i)$。如果$TS(T_i) < TS(T_j)$,说明$T_j$比较新。
可以使用
- 系统时钟
- 逻辑计数器
对于系统中的每个事务$T_i$,赋予它一个时间戳,记为$TS(T_i)$。如果$TS(T_i) < TS(T_j)$,说明$T_j$比较新。
可以使用
本次笔记来自《数据库系统概念》第七版 第18章的第一节
为了确保书屋的隔离性,DBMS采用的是并发控制来实现的,主要有两阶段封锁(two-phase locking)和快照隔离(snapshot isolation)
这次lab介绍非常非常长,要完成9个executors,有sequential scan, insert, update, delete, neted loop join, hash join, aggregation, limit, distinct,每一个种query plan都有init next方法,init是用来初始化的,next是提供给调用者一个tuple和对应的RID
Early Materialization
将需要join的数据复制到新的tuple中,这样做的好处就是接下来的子操作不会再回到原来的tuple进行更多的操作。