在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。

併發事務的缺點是併發事務的執行可能導致不一致。

更新於:2021年7月6日

3K+ 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.