Transaction Processing
接上文
数据库系统之事务处理-2
https://blog.csdn.net/Jifu_M/article/details/112479869
串行图
制作串行图规则如下:
如果事务T参与并发执行,那么我们向序列化图中添加一个标记为T的节点。
如果事务Ti和Tj处理冲突的操作,使得Ti首先处理它的操作,那么我们添加一条从Ti到Tj的线。
举个例子:
T1 T2 T3
write(x, 10)
write(x,20)
write(x,30)
write(y,10)
read(y)
得出的串行图如下:
串行图测试协议(SGT)
原则
- 调度程序要维护和测试串行图。
- 如果事务发出的操作违反了冲突可串行化,即如果它在串行化图中创建了一个循环,则该事务将被中止。
问题
-
Cascading aborts:如果创建数据项x的事务T被中止,那么所有读取x新值的事务都必须中止。
-
性能&#