Федор Гулин
А что произойдет ну скажем с тяжёлым апдейтом в такой ситуации в постгрес ?
Пойдет роллбак и не будет ли это ещё более тяжёлым испытанием для системы ?
Ясно что транзакции д.б короткие но вот если вдруг на это время попадет процесс масс.апдейта что произойдет тогда ?
в Postrges отмена транзакций очень быстрая. транзакция просто помечается как “rolled back”. когда запросы (любые другие) обращаются к данным которые такая транзакция успела записать, они:
- проверят статус транзакции
- увидят, что она откатилась, т.е. данные надо игнорить
- т.к. всё равно уже влезли, проставим хинты в заголовках записей, что они удалённые
именно из-за этого в Postgres-е возникает эффект, когда чистый SELECT может что-то записать