431并发调度的可串行性 什么样的并发操作调度是正确的 如何保证并发操作的调度是正确的
4.3.1 并发调度的可串行性 并发调度的可串行性 一、什么样的并发操作调度是正确的 一、什么样的并发操作调度是正确的 二、如何保证并发操作的调度是正确的 二、如何保证并发操作的调度是正确的
一、什么样的并发操作调度是正确的 计算机系统对并行事务中并行操作的调度是的 随机的,而不同的调度可能会产生不同的结 果。 口将所有事务串行起来的调度策略一定是正确的 调度策略
一、什么样的并发操作调度是正确的 一、什么样的并发操作调度是正确的 计算机系统对并行事务中并行操作的调度是的 计算机系统对并行事务中并行操作的调度是的 随机的,而不同的调度可能会产生不同的结 随机的,而不同的调度可能会产生不同的结 果。 将所有事务串行起来的调度策略一定是正确的 将所有事务串行起来的调度策略一定是正确的 调度策略
什么样的并发操作调度是正确的(续) 当且仅当其结果与按某一次序串行地执 行它们时的结果相同, 每个事务看到的数据库状态与一个串行 调度相同。 这种并行调度策略称为可串行化 ( Serializable)的调度
什么样的并发操作调度是正确的(续) 什么样的并发操作调度是正确的(续) 当且仅当其结果与按某一次序串行地执 当且仅当其结果与按某一次序串行地执 行它们时的结果相同, 行它们时的结果相同, 每个事务看到的数据库状态与一个串行 每个事务看到的数据库状态与一个串行 调度相同。 这种并行调度策略称为可串行化 这种并行调度策略称为可串行化 (Serializable Serializable )的调度
什么样的并发操作调度是正确的(续) 可串行性是并行事务正确性的唯一准则 例:现在有两个事务,分别包含下列操作: 事务1:读B;A=B+1;写回A 事务2:读A;B=A+1;写回B; 假设A的初值为2,B的初值为2
什么样的并发操作调度是正确的(续) 什么样的并发操作调度是正确的(续) 可串行性是并行事务正确性的唯一准则 可串行性是并行事务正确性的唯一准则 例:现在有两个事务,分别包含下列操作: 例:现在有两个事务,分别包含下列操作: 事务 1:读 B;A=B+1;写回 A; 事务 2:读 A;B=A+1;写回 B; 假设 A的初值为 2,B的初值为 2
什么样的并发操作调度是正确的(续) 对这两个事务的不同调度策略 串行执行 a串行调度策略1 a串行调度策略2 交错执行 a不可串行化的调度 口可串行化的调度
什么样的并发操作调度是正确的(续) 什么样的并发操作调度是正确的(续) 对这两个事务的不同调度策略 对这两个事务的不同调度策略 串行执行 串行调度策略 1 串行调度策略 2 交错执行 不可串行化的调度 不可串行化的调度 可串行化的调度 可串行化的调度