Классика баз данных - статьи

       

Буферизация в пределах блоков дерева


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

Как кажется, записи должны удерживаться только для тех детей, которые не находятся непосредственно в буфере ввода-вывода. На основе того, что в большинстве B-деревьев имеется не менее ста ветвей, что в большинстве серверов баз данных размер памяти превосходит 1% размера диска, и что обсуждаемые здесь B-деревья являются наиболее активно используемыми и критически влияющими на производительность индексами внутри базы данных, можно заключить, что такая буферизация применима только к узлам, являющимся непосредственными предками листьев. Другими словами, могут быть возможны дополнительные усовершенствования опубликованных методов, позволяющие буферизовать узлы всех уровней B-дерева.



Содержание раздела