裴婉竹
摘要:計算機網絡技術的快速發展加速了分布式管理系統的應用和推廣,數據庫管理系統作為分布式管理系統的一個重要組成部分,采用并發控制機制實現多業務邏輯功能請求時,對于保證數據庫的一致性和準確性具有重要的作用。目前,常用的數據庫并發控制機制包括基于封鎖的方法、基于時標的方法和基于樂觀并發控制方法三種,能夠有效地提升數據庫操作的并發性,強化事務處理的效率,確保數據庫中存儲數據的完整性,進而可以大大提高分布式管理系統的實施和應用。
關鍵詞:數據庫管理系統 并發控制 一致性 事務處理
中圖分類號:TP311 文獻標識碼:A 文章編號:1007-9416(2014)12-0111-01
1 引言
隨著互聯網技術的快速發展,分布式管理系統已經在金融證券、電力通信、政企辦公、建筑施工等領域得到了廣泛的應用,分布式管理系統處理的邏輯業務具有數據量龐大、系統規模復雜、多用戶操作環境下的特點,需要引入多線程并發控制技術,數據庫管理系統需要能夠實現多個邏輯業務程序同時存取數據庫的功能,以便能夠為人們提供更加完善的數據服務,提高分布式數據庫的并發程度、吞吐量,并且能夠確保數據庫的一致性和準確性[1]。
2 數據庫并發控制作用
在分布式管理系統應用過程中,數據庫存儲了多個用戶共享的數據資源,可以供許多用戶進行訪問。如果用戶的邏輯業務程序串行執行訪問,也就是每一個時刻只有一個用戶程序執行數據庫存取,其他用戶需要等待,此時就可以有效地保證數據庫的一致性、完整性等。但是,隨著分布式管理系統并發技術的使用,為了能夠充分地利用數據庫資源,發揮數據庫共享的特性,已經產生了多個用戶并發存取數據庫的需求[2]。多個用戶存取同一數據資源,很容易破壞數據庫的一致性,因此,需要對多用戶存取操作進行并發控制。并發控制機制是保證數據庫一致性的重要手段,也是衡量一個數據庫優劣的重要標志。
3 數據庫并發控制機制應用
數據庫并發控制常用的機制包括三種,分別是基于封鎖的方法、基于時標的方法、基于樂觀并發控制方法[3]。
(1)基于封鎖的方法。
封鎖方法是最為常用的數據庫并發控制方法,其基本思想描述如下:數據庫管理系統操作數據之前,必須申請對需要操作的數據對象進行封鎖,封鎖完成之后才能獲準對該數據對象進行操作。如果申請封鎖的過程中,發現該數據對象已經被其他事務封鎖,則操作方式將會產生沖突,后到的事務請求封鎖程序必須等待,直到數據對象被其他事務釋放之后,才能完成封鎖請求。確切的控制規則由封鎖類型確定,封鎖規則規定了數據庫并發控制過程中,加鎖原則和封鎖相融合的機制,以便能夠實現沖突事務請求操作的可串行調度。目前,最常用的封鎖模型有共享鎖、排它鎖兩種,其中共享鎖又被稱為S鎖,數據對象在進行讀操作時可以使用共享鎖;排它鎖又被稱為X鎖,數據對象在進行寫入操作的過程中,可以使用排它鎖。
(2)基于時標的并發控制方法。
數據庫事務執行過程中,基于時標的并發控制給每一個事務賦予一個唯一的時標戳,數據庫管理系統可以根據事務的時標戳進行排序串行調度,此時事務按照時標戳排序的串行調度等效于事務的時間調度。調度器給每一個事務T賦予一個唯一的數值,也就是時間戳TS(T),時間戳必須在事務第一次通知調度器時直接按照升序給出,調度器維護一個計數器,當一個事務開始時,計數器加1,新的數值便成為該事務大的時間戳,調度器還需要將數據庫中活躍的事務及其時間戳保存在一個表中,便于為后續調度提供基礎依據。
時標控制方法也是數據庫常用的并發控制機制之一。時標控制方法的優點是事務處理過程中不會發生中斷,并且無需發生等待,因此不存在事務處理死鎖現象,時標控制方法能夠很好地滿足并發度。時標控制方法也存在一些缺點,比如其需要重啟,才能保持事務全局順序操作,沖突發生較多時,重啟次數過多導致資源浪費,另外在分布式系統中維護全局統一時標非常困難。
(3)基于樂觀并發控制方法。
與傳統的封鎖、時標并發控制方法不同,樂觀方法不需要暫時停止或者拒絕執行一個數據庫操作事務,樂觀方法可以讓一個事務順利執行完畢。樂觀控制方法執行的前提是系統數據庫操作事務之間極少發生沖突。根據對數據庫存取訪問事務進行分析可知,很多數據庫事務可以無沖突正確地執行完畢,因此可以不考慮事務之間的沖突,讓讀操作執行完畢,暫時保存寫操作的結果在緩沖區。數據庫事務讀操作完畢之后,可以由一個專門的檢測確認程序確認數據庫操作事務之間是否具備可串行化,如果通過這個檢查,則可以把寫操作的結果永久地存儲到數據庫中,否則就需要重啟數據庫操作事務。為了能夠完成檢測過程,需要保留數據庫操作事務的一些上下文信息,直到檢測程序執行完畢,樂觀并發控制方法執行的過程可以分為以下三個步驟:
(1)數據讀出操作:該步驟可以讀出數據庫需要處理的數據項,處理完畢后將回寫結果的值保存在一個緩沖空間中,而不需要寫入數據庫;
(2)事務檢測操作:事務檢測操作可以有效地檢查數據庫的更新操作是否能夠引起數據庫中的數據不一致,如果通過檢測,則可以執行寫入操作,如果檢測不通過,需要重新啟動事務處理過程。
(3)數據寫入操作:將通過事務檢測操作的數據處理結果寫入到數據庫中。
4 結束語
數據庫并發控制機制可以有效地確保數據一致性和完整性,在當前多用戶、大規模數據事務處理的環境下具有重要的作用和意義。隨著互聯網技術、數據庫技術的快速發展,數據庫并發控制機制能夠與當前的移動計算、云計算等先進技術相結合,得到更多的應用和改進。
參考文獻
[1]陳秋月,張劍妹.關系數據庫的并發控制與實現途徑[J].長治學院學報,2012,29(5).
[2]周洋,張雷.使用觸發器的特殊樂觀并發控制方法[J].電腦知識與技術,2013,(29).
[3]張云,李嵐.一種多粒度鎖的事務并發控制算法[J].微型機與應用,2012,31(5).