text: 多版本併發控制(Multiversion concurrency control， MCC 或 MVCC)，是資料庫管理系統常用的一種併發控制，也用於程式設計語言實現事務記憶體。MVCC意圖解決讀寫鎖造成的多個、長時間的讀操作餓死寫操作問題。每個事務讀到的資料項都是一個歷史快照，並依賴於實現的隔離級別。寫操作不覆蓋已有資料項，而是建立一個新的版本，直至所在操作提交時才變為可見。快照隔離使得事務看到它啟動時的資料狀態。演算法.MVCC使用時間戳 (TS), 或“自動增量的事務ID”實現“事務一致性”。MVCC可以確保每個事務(T)通常不必“讀等待”資料庫物件(P)。這透過物件有多個版本，每個版本有"建立時間戳" 與"廢止時間戳" (WTS)做到的。事務Ti讀取物件(P)時，只有比事務Ti的時間戳早，但是時間上最接近事務Ti的物件版本可見，且該版本應該沒有被廢止。事務Ti寫入物件P時，如果還有事務Tk要寫入同一物件，則(Ti)必須早於(Tk)，即 (Ti) &lt; (Tk)，才能成功。MVCC可以實現。歷史.MVCC在1981年的一篇論文"Concurrency Control in Distributed Database Systems"被充分論述，併成為經典描述。一般認為原創工作始於1978年的博士學位論文。資料庫實現.現在，多數資料庫系統已經使用MVCC。
metadata: erhwenkuo/wikipedia-zhtw
metadata: 多版本併發控制
metadata: https://zh.wikipedia.org/wiki?curid=6360157