Pull to refresh

Comments 9

Добавил примечание:

В статье речь идет о Java-приложении. Поэтому название не совсем точное. Но так было в оригинале. :(

Ну Java-приложение тут тоже не при чем - приложение можно на любом языке написать, либо вообще напрямую через SQL данные менять, тут описано поведение именно самого PostgreSQL.

Более того, здесь и приложение не при чем 🤷‍♂️

UFO just landed and posted this here

Какая-то несусветная чушь. При чём тут Java вообще? Возьмите СУБД с другой реализацией мультиверсионности, или совсем без неё, блокировочник, и затем повторите тест.

И кстати, наличие этого "мусора" в Postgres имеет и свои преимущества. Например, не нужно иметь дополнительное место для хранения версий строк или undo data; отмена транзакции происходит мгновенно потому что оригинальные версии строк всё ещё присутствуют; транзакционное изменение схемы данных (DDL) и хранимых процедур с возможностью отмены; нет проблемы переполнения для транзакций изменяющих много данных и т.д. Мусором это становится если автовакуум не поспевает, как правило по причине того что его не настрили как следует под конкретное приложение.

Во-первых, да, при чем тут джава. Во-вторых, при чем тут мусор? Записи в бд - не мусор, а версии строки. Это всё нужная информация, в отличии от настоящего мусора в джаве. Версии - один из возможных механизмов транзакционности. Так мы договоримся до того, что лог в Ms sql - мусор.

Sign up to leave a comment.

Articles