Префиксные деревья (tries) и их разновидности являются одними из самых эффективных структур данных для хренения ассоциативных массивов (обычно со строковыми ключами). Некоторые реализации префиксных деревьев (HAT-trie) сравнимы по производительности с хэш-таблицами.
При этом, в отличие от хэш-таблиц, они позволяют поддерживать отношение порядка между ключами, а также быстро получать все ключи по заданному префиксу.

Предлагается реализация разновидности префиксных деревьев для поддержки индексов баз данных в качестве альтернативы B-деревьям. Наиболее похожим типом деревьев является HAT-trie (cache-conscious trie). В данном типе деревьев учитываются особенности хренения данных в СУБД: изменения локальны относительно страниц; используется максимально компактное представление узлов (с целью занять наименьшее количество страниц). Кроме того, в отличие от B-деревьев, в продложенной структуре данных нет ограничений на длину ключа. Основная задача, которая была решена в ходе работы – это разработка эффективного алгоритма разделения страниц (splitting). Этот алгоритм позволяет обеспечивать оптимальное заполнение страниц.

В настоящее время выполняется сравнение прототипной реализации с существующими реализациями B-деревьев, в том числе, с B-деревьями, во внутренних страницах которых данные представлены в виде префиксного дерева.

Докдадчик: Борисенко Олег.

Материалы:

Презентация с семинара (pdf)