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