Я пытаюсь выяснить, в чем разница между оптимистическим контролем параллелизма (OCC) и многоверсионным контролем параллелизма (MVCC)?
Пока я знаю, что оба основаны на проверке версий для обновлений.
В OCC я читал о транзакциях, которые не приобретают блокировок для доступа на чтение, только для последующего обновления, которое будет неудачным, если в промежутке версия была увеличена и проверка версии не удалась. В этом случае транзакция будет откачена.
В MVCC, по сути, то же самое, или нет? Где разница?