DBMS 中的调度是什么意思?

一个事务必须满足 DBMS 的 ACID 属性,即

  • 原子性 - 执行全部或不执行事务。

  • 一致性 - 事务执行前后数据库应该是一致的。

  • 隔离 - 交易必须以隔离的形式执行。

  • 耐用性 - 在发生任何故障时,应始终可以进行回滚。

调度被定义为事务的执行序列。调度维护每个单独事务中的操作顺序。调度是事务操作的安排。一个调度可能包含一组事务。

我们已经知道事务是一组操作。为了同时运行事务,我们以交错的方式安排或调度它们的操作。

时间表分为两类,即 -

串行时间表

该调度中存在的事务是串行执行的,在Ti的指令完成后,将执行Tj的指令,其中j=i+1。

串行调度保证一致性如下 -

对于 2 个事务,可能的串行调度总数 = 2。

对于 3 个事务,可能的串行调度总数 = 6。

2 transaction        3 transaction

    T1->T2            T1->T2->T3

    T2->T1            T1->T3->T2

                      T2->T1->T3

                      T2->T3->T1

                     T3->T1->T2

                     T3->T2->T1

如果 n = 事务数,则可能的串行调度数 = n!。

串行调度总是给出正确的结果。但是,我们遵循并发时间表以提高时间效率。因此,我们必须确保并发调度的可串行化。

并发时间表

多个事务可以以交错方式执行,但要遵守上述 ACID 属性。

优点

并发调度的优点如下 -

  • 增加吞吐量,即单位时间内完成的事务数)。

  • 减少等待时间。

示例

T1= 90sec

T2= 500sec

T3= 5sec.

如果我们通过 T1->T2->T3 串行执行,那么事务 T3 将等待 590 秒,因此我们选择非串行或并发事务以减少等待时间。

即 T3 -> T1 -> T2。

并发事务的缺点是并发事务的执行可能会导致不一致。

以上是 DBMS 中的调度是什么意思? 的全部内容, 来源链接: utcz.com/z/327508.html

回到顶部