MVCC

MVCC  Multi-Version Concurrency Control 多版本併發控制,MVCC 是一種併發控制的方法,一般在數據庫管理系統中,實現對數據庫的併發訪問;在編程語言中實現事務內存。

大多數的MySQL事務存儲引擎,如InnoDB,Falcon以及PBXT都在使用一種簡單的行鎖機制。事實上,他們都和另外一種用來增加併發性的被稱爲“多版本併發控制(MVCC)”的機制來一起使用。MVCC不只使用在MySQL中,OraclePostgreSQL,以及其他一些數據庫系統也同樣使用它。

你可將MVCC看成行級別鎖的一種妥協,它在許多情況下避免了使用鎖,同時可以提供更小的開銷。根據實現的不同,它可以允許非阻塞式讀,在寫操作進行時只鎖定必要的記錄。

MVCC會保存某個時間點上的數據快照。這意味着事務可以看到一個一致的數據視圖,不管他們需要跑多久。這同時也意味着不同的事務在同一個時間點看到的同一個表的數據可能是不同的。如果你從來沒有過這種體驗的話,可能理解起來比較抽象,但是隨着慢慢地熟悉這種理解將會很容易。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章