MVCC
Multiversion Concurrency Controlの略.
トランザクション処理に用いるデータストレージについての分類.
同じタプル$ xについて複数のバージョン$ x_1, x_2, x_3,..., x_nを取ることを許容すること.
このとき$ nのバージョンが取れるならNVCCと呼ばれる.
論理的に無限のバージョンを考えるとき,MVCCといわれる.
一般にMVCCは,理論的に性能の高い手法を作りやすい(FYI: MVSR)といわれる. が,「複数のバージョン」の実装が線形リストになることが多く,この操作にかかるオーバヘッドが手痛い.
性能特性や適したワークロードなども多くの論文で議論されている.
特に有名なのは以下(インメモリDBの論文に限定する):