Skip to content
This repository was archived by the owner on May 26, 2022. It is now read-only.

Conversation

avallac
Copy link
Contributor

@avallac avallac commented Mar 25, 2017

B-дерево относиться к классу самобалансируемых деревьев, оно не оптимально, но очень близко (так же как АВЛ дерево и красно-черное). Поэтому оно не может разбалансироваться.

Касательно пункта о том, что данные хранятся разряжено. Не готов утверждать, но мне кажется тут ошибка. Понятно, что для механизма транзакции требуется, чтобы индексы хранили ссылки на устаревшие данные, но после автовакума они должны полностью быть удалены из индекса. Что приведет его к виду очень близкому к пересозданному. Нюанс алгоритма в том, что B-дерево не является устойчивым. И разные деревья могут быть эквивалентными. Но разница настолько должна быть мала, что совет по перестроению не должен работать.

@le0pard le0pard merged commit 3c6a06e into le0pard:dev Mar 25, 2017
@le0pard
Copy link
Owner

le0pard commented Mar 25, 2017

@avallac благодарю.

Понятно, что для механизма транзакции требуется, чтобы индексы хранили ссылки на устаревшие данные, но после автовакума они должны полностью быть удалены из индекса.

К сожалению, индексы подвержены такой же проблеме, как и таблицы - "распухание", когда вакуум не может очистить некоторые участки и только REINDEX может это сделать.

@avallac avallac deleted the information_adbout_self_balancing branch March 25, 2017 11:42
@le0pard
Copy link
Owner

le0pard commented Mar 25, 2017

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants