国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁 > 營銷資訊 > 信息時代 > 事務調(diào)度(數(shù)據(jù)庫)

事務調(diào)度(數(shù)據(jù)庫)

時間:2022-11-13 00:30:02 | 來源:信息時代

時間:2022-11-13 00:30:02 來源:信息時代

    事務調(diào)度 : 對事務中所有操作的執(zhí)行次序進行合理的安排,使得在保證事務ACID性質(zhì)的前提下,最大程度地提高系統(tǒng)事務處理的效率。這里有兩個基本的要求,一是調(diào)度必須是正確的,一是調(diào)度必須是高效的。如何在保證事務正確執(zhí)行的前提下,最大限度地提高事務處理系統(tǒng)的效率是事務調(diào)度的主要課題。
事務調(diào)度不考慮一個事務內(nèi)部操作之間的次序的調(diào)整,這屬于程序優(yōu)化的范疇。在事務調(diào)度中,假定一個事務內(nèi)部的操作順序是不可變更的,主要考慮的是事務之間操作順序的調(diào)整。
如果多個事務依次順序執(zhí)行,即一個事務完全結束后,另一個事務才開始執(zhí)行,則稱這種調(diào)度方式為串行調(diào)度(serial schedule)。如果DBMS可以同時處理多個事務,交叉執(zhí)行不同事務的操作,則稱這樣的調(diào)度為并發(fā)調(diào)度(concurrent schedule)。在單CPU系統(tǒng)中,某一時刻只能有一個事務占用CPU,多個事務利用分時的方法交叉地使用CPU,稱為交叉并發(fā)。在多CPU系統(tǒng)中,可以允許多個事務同時占用CPU,稱為同時并發(fā)。
對一個事務而言,在不同的執(zhí)行階段需要不同的資源,有時需要CPU,有時需要訪問磁盤,有時需要通信。如果多個事務順序執(zhí)行,有些資源可能會空閑,造成系統(tǒng)整體效率低下。如果多個事務并發(fā)執(zhí)行,可以交叉地利用這些資源,有利于提高效率。因此,商用數(shù)據(jù)庫系統(tǒng)都采用并發(fā)調(diào)度。
對于并發(fā)調(diào)度,滿足事務ACID性質(zhì)(即事務的正確性)是基本的要求。由此可以推導出可串行性或者更加嚴格的沖突可串行性及可恢復性的要求。商用數(shù)據(jù)庫系統(tǒng)通過引入一些特定機制和協(xié)議(例如,封鎖和兩階段封鎖協(xié)議),讓全部事務在運行中遵循既定的協(xié)議,來保證事務調(diào)度的正確性,這種機制稱為并發(fā)控制機制。
除了正確性,性能也是事務調(diào)度器要考慮的另一個重要因素。例如,避免級聯(lián)回退就是提高系統(tǒng)整體性能的一個重要方面。通??梢杂妹糠昼娡瓿傻挠行聞諗?shù)TPM(transactions per minute)來衡量。最廣泛使用的測量數(shù)據(jù)庫系統(tǒng)事務處理能力的標準是由事務處理委員會提出的TPC-C測試標準,它通過一個模擬的倉儲應用來度量系統(tǒng)的事務處理能力。
事務調(diào)度需要對事務狀態(tài)的變遷進行記錄,可以用圖1所示的狀態(tài)變遷圖來表示。


圖1 事務的狀態(tài)變遷圖


事務的調(diào)度包括以下幾種狀態(tài):
(1)活動狀態(tài):在事務開始執(zhí)行后,立即進入“活動”(active)狀態(tài)。在活動狀態(tài),事務將執(zhí)行對數(shù)據(jù)庫的讀/寫操作。但是“寫操作”并不立即寫到磁盤上,很可能暫時存放在系統(tǒng)緩沖區(qū)中。
(2)部分提交狀態(tài): 事務的最后一個語句執(zhí)行后,進入“部分提交”(partially committed)狀態(tài)。這表明事務執(zhí)行已經(jīng)結束,但是對數(shù)據(jù)庫的修改,還在內(nèi)存的系統(tǒng)緩沖區(qū)中,所以還不能說事務真正的結束。
(3)失敗狀態(tài):處于活動狀態(tài)的事務還沒到達最后一個語句就中止執(zhí)行,此時稱事務進入“失敗”(failed)狀態(tài)。失敗狀態(tài)還可以從部分提交狀態(tài)轉(zhuǎn)來。在部分提交狀態(tài),雖然事務的語句執(zhí)行結束,但是數(shù)據(jù)庫的修改可能未寫到數(shù)據(jù)庫。如果此時系統(tǒng)出故障,事務也進入“失敗”狀態(tài)。
(4)異常中止狀態(tài):處于失敗狀態(tài)的事務,很可能已對磁盤中的數(shù)據(jù)進行了一部分的修改,為了保證事務的原子性,應該撤銷(undo)該事務對數(shù)據(jù)庫已作的修改。對事務的撤銷操作稱為事務的回退(rollback)。事務的回退由數(shù)據(jù)庫管理系統(tǒng)的恢復子系統(tǒng)執(zhí)行?;赝撕笫聞者M入“異常中止”(aborted)狀態(tài)。
在事務進入異常中止狀態(tài)時,系統(tǒng)有兩種選擇:一是重新啟動事務。由硬件或軟件錯誤造成的、而不是事務內(nèi)部邏輯造成的異常中止時,可以重新啟動事務。重新啟動的事務是一個新的事務。二是取消事務。如果發(fā)現(xiàn)事務的內(nèi)部邏輯有錯誤,那么應該取消原事務,提示用戶重新改寫應用程序。
(5)提交狀態(tài):事務進入部分提交狀態(tài)后,系統(tǒng)將檢查該事務與并發(fā)事務是否發(fā)生干擾現(xiàn)象(即是否發(fā)生錯誤)。在檢查通過后,系統(tǒng)執(zhí)行提交(commit)操作,把對數(shù)據(jù)庫的修改全部寫到磁盤上,并通知系統(tǒng),事務成功地結束,事務進入“提交”(committed)狀態(tài)。
事務的提交狀態(tài)和異常中止狀態(tài)都是事務的結束狀態(tài)。

74
73
25
news

版權所有? 億企邦 1997-2022 保留一切法律許可權利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關閉