並行控制
在電腦科學,特別是程式設計、作業系統、多處理機和資料庫等領域,並行控制(英語:Concurrency control)是確保及時糾正由並行操作導致的錯誤的一種機制。
資料庫管理系統中的並行控制
資料庫管理系統(DBMS)中的並行控制的任務是確保在多個事務同時存取資料庫中同一數據時不破壞事務的隔離性和統一性以及資料庫的統一性。下面舉例說明並行操作帶來的數據不一致性問題:
- 現有兩處火車票售票點,同時讀取某一趟列車車票資料庫中車票餘額為 X。兩處售票點同時賣出一張車票,同時修改餘額為 X -1寫回資料庫,這樣就造成了實際賣出兩張火車票而資料庫中的記錄卻只少了一張。
產生這種情況的原因是因為兩個事務讀入同一數據並同時修改,其中一個事務提交的結果破壞了另一個事務提交的結果,導致其數據的修改被遺失,破壞了事務的隔離性。並行控制要解決的就是這類問題。
封鎖、時間戳、樂觀並行控制和悲觀並行控制是並行控制主要採用的技術手段。
參考文獻
- 王珊、薩師煊. 数据库系统概论 (M) 4. 北京: 高等教育版社. 2006. ISBN 7-04-019583-6.
外部連結
- Portland Pattern Repository: Synchronization Strategies (頁面存檔備份,存於互聯網檔案館)
- Portland Pattern Repository: Category Concurrency (頁面存檔備份,存於互聯網檔案館)
- Database Locking: What it is, Why it Matters and What to do About it (頁面存檔備份,存於互聯網檔案館)
這是一篇與軟件相關的小作品。您可以透過編輯或修訂擴充其內容。 |