MVCC без VACUUM: что нам дал UNDO-лог, какую цену мы заплатили и зачем нам 5 механизмов сборки мусора

Новая статья из цикла про нашу OLTP-СУБД на Rust. С самого начала мы выбрали MVCC на UNDO-логе вместо версионирования в heap, как в PostgreSQL. И годами повторяли свой же лозунг: «нет VACUUM, нет bloat». Оказалось, это правда ровно наполовину. Heap и правда не пухнет от истории версий. Но bloat никуда не делся: он переехал в индексы, в мёртвые слоты и в сам UNDO-лог. А сборка мусора из одного механизма незаметно превратилась в пять, и мы только сводим их к единому координатору. В статье разобрали без прикрас обе стороны. Что UNDO-модель дала: стабильный TID (UPDATE, который не трогает индексы), rollback пропорционально размеру транзакции, аналитику, не дорожающую от write-нагрузки, и AS OF как «машину времени» почти даром. И чем за это платим: главная эксплуатационная цена это долгоживущий снапшот, который молча останавливает очистку для всех. Вопрос к тем, кто эксплуатировал MVCC-базы под нагрузкой: что меньшее зло — блокировать GC ради долгих транзакций или отдавать «snapshot too old»? Любопытно ваше мнение в комментариях.

https://habr.com/ru/articles/1047852/

#undo #mvcc #sql #postgres #субд #rust #vacuum #oltp #htap

MVCC без VACUUM: что нам дал UNDO-лог, какую цену мы заплатили и зачем нам 5 механизмов сборки мусора

Мы пишем реляционную базу данных на Rust. В предыдущих статьях цикла мы разбирали отдельные подсистемы: Buffer Pool с Clock-sweep и изоляцией сканов и векторизованный исполнитель с многоверсионными...

Хабр

A feature I didn’t know existed in VS Codium saved my day! I was working on a untracked Git file (the zensical.toml configuration file) and accidentally, the whole file was overwritten and ctrl+z didn’t work. I thought my config was lost for good!

Luckily there’s a thing called “Local History”:

* Open command palette…

View full note: https://burgeonlab.com/notes/2026/0615-16251

#vscodium #vscode #ide #undo

#undo : to unfasten or untie

- French: annuler

- German: ungeschehen machen, aufmachen

- Portuguese: desfazer

- Spanish: deshacer

------------

Try our new word guessing game @ https://24hippos.com

@elsua54
3. Words like #DigitalAutonomy usually RELY ON OTHERS to do it *for themselves* and aside from a few changes I don't know you can help others to manage their own #life or #undo #addictions or do the #betterpractices stuff other than give them time to catch on to it and a few #tips or #handholding posts / principles etc.

How could you speed up just general tips or convert them on to somethign else?

Proextinction Website - Join us

United for the victims who rely on Extinction

MOOG HISTORY: Undo + uroz @ Moog Club - 30 Apr feat. Undo, uroz

#SESH #Undo #uroz

https://sesh.sx/e/1961422

MOOG HISTORY: Undo + uroz | Moog Club | SESH

MOOG HISTORY: Undo + uroz at Moog Club. Featuring Undo, uroz

SESH

#undo : to reverse, as what has been done

- French: annuler

- German: ungeschehen machen, aufmachen

- Portuguese: desfazer

- Spanish: deshacer

------------

Try our new word guessing game @ https://24hippos.com

24 Hippos : Word Guessing Game

24 Hippos is an hourly word guessing game that is powered by Word of The Hour (WoTH).

この状態から立てる?自衛隊の「運動神経」チェック動画、挑戦者は「できない」「無理ー!」
https://www.huffingtonpost.jp/entry/story_jp_6948c176e4b099a75cbd487c

#huffingtonpost #LIFE #自衛隊 #映像 #話題 #筋トレ #運動 #jieitai #eizo #wadai #sujitore #undo

この状態から立てる?自衛隊の「運動神経」チェック動画、挑戦者は「できない」「無理ー!」

あなたはできた?自衛隊東京地方協力本部が動画を発信しました。

ハフポスト