機制
並發控制指的是當多個用戶同時更新運行時,用於保護資料庫完整性的各種技術。並發機制不正確可能導致髒讀、幻讀和不可重複讀等此類問題。並發控制的目的是保證一個用戶的工作不會對另一個用戶的工作產生不合理的影響。在某些情況下,這些措施保證了當用戶和其他用戶一起操作時,所得的結果和她單獨操作時的結果是一樣的。在另一些情況下,這表示用戶的工作按預定的方式受其他用戶的影響。
套用
資料庫管理系統中的並發控制
資料庫管理系統(DBMS)中的並發控制的任務是確保在多個事務同時存取資料庫中同一數據時不破壞事務的隔離性和統一性以及資料庫的統一性。下面舉例說明並發操作帶來的數據不一致性問題:
現有兩處火車票售票點,同時讀取某一趟列車車票資料庫中車票餘額為X。兩處售票點同時賣出一張車票,同時修改餘額為X -1寫回資料庫,這樣就造成了實際賣出兩張火車票而資料庫中的卻記錄只少了一張。
產生這種情況的原因是因為兩個事務讀入同一數據並同時修改,其中一個事務提交的結果破壞了另一個事務提交的結果,導致其數據的修改被丟失,破壞了事務的隔離性。並發控制要解決的就是這類問題。
封鎖、時間戳、樂觀並發控制、悲觀並發控制、多版本和快照隔離是並發控制主要採用的技術手段。