Танцующее дерево

Сентябрь 10, 2021 / Комментарии 0

В информатике танцующее дерево (англ. Dancing tree) — древовидная структура хранения данных, которая похожа на B+trees. Она придумана Хансом Рейзером для использования в файловой системе Reiser4. По сравнению со сбалансированными бинарными деревьями, которые пытаются сохранить свои узлы сбалансированными постоянно, танцующие деревья сохраняют баланс между узлами только при записи данных на диск: либо из-за ограничений памяти, или потому, что транзакция завершена.

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

Тем не менее, побочный эффект такого поведения появляется в случае неожиданной остановки системы, записи неполных данных, и других явлений, которые могут помешать завершению окончательной (сбалансированной) транзакции. В целом, танцующие деревья создают большие трудности для восстановления данных из незавершённых операций, чем нормальные деревья, хотя эту проблему можно решить путём добавления дополнительных журналов транзакций или разработки алгоритма для поиска ранее не существовавших данных на диске с последующим выполнением оптимизаций и возобновлением операций.

Подпишитесь на свежую email рассылку сайта!

Читайте также

  • Окт 22

    Майтрипа

    Майтрипа (1007—1077) — махасиддха, хранитель линии передачи махамудры, которая потом

  • Окт 22

    Зейд ибн Хариса

    Зейд ибн Хариса аль-Кальби (араб. زيد بن حارثة الكلبي‎; 588,

  • Окт 22

    Энтони Джошуа — Александр Поветкин

    Энтони Джошуа — Александр Поветкин (англ. Anthony Joshua vs. Alexander

  • Окт 22

    Порт-Дандас

    Порт-Дандас — район Глазго, расположенный на расстоянии 1 миля (1,6

  • Окт 22

    Unix-время

    Unix-время (англ. Unix time, также POSIX-время) — система описания моментов

  • Окт 22

    Китсы

    Китсы (эст. Kitsõ) — деревня в волости Сетомаа уезда Вырумаа,

  • Окт 21

    Старуха Мха

    «Старуха Мха» — российский дарк-эмбиент-проект, основанный в 2000 году Романом

  • Окт 21

    Бадюк, Сергей Николаевич

    Сергей Николаевич Бадюк (род. 3 июля 1970, Шаргородский район, Винницкая

  • Окт 21

    Союз фашистской молодёжи

    «Союз фашистской молодёжи» — молодёжная организация Всероссийской фашистской партии, созданная

  • Окт 21

    Король-шаман

    Король-шаман (яп. シャーマンキング Ся:ман Кингу, тж. Шаман Кинг, Король шаманов) — манга Хироюки

  • Окт 21

    Дель Кларо, Антонио

    Антонио Лауро дель Кларо (порт. Antonio Lauro Del Claro; род.

  • Окт 21

    И твою маму тоже

    «И твою маму тоже» (исп. Y tu mamá también) —

  • Окт 21

    Springer Nature

    Springer Nature (Шпрингер Нейчар) — академическая издательская компания, созданная в

  • Окт 21

    Театр Гонзаго

    Театр Гонзаго — памятник архитектуры начала XIX века. Театр, построенный

  • Окт 21

    Брока, Поль

    Поль Пьер Брока (фр. Paul Pierre Broca, 28 июня 1824