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