2010-03-23 3 views
8

Я думаю, что знаю, что такое B-дерево, но что такое страница B-дерева?Что такое страница B-дерева

+1

Возможно, это поможет, если вы дадите еще какой-нибудь контекст, например ссылку, код и т. Д. –

+1

Любые ссылки на b-tree-page? – systempuntoout

+0

+1 только потому, что этот вопрос не является достаточным, чтобы заслужить отрицательный результат, общее поведение ОП в стороне. – Pops

ответ

13

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

Часть данных, которая хранится на диске (и считывается в память) как единое целое, называется страницей. Для B-дерева типично записывать количество записей в одном узле, которые делают размер узла равным натуральному размеру страницы файловой системы. Таким образом, диски могут быть оптимизированы.

Например, если файловая система, естественно, работает с 16-килобайтными блоками данных, и если размер записей в B-дереве равен 500 b (включая ссылки на следующий уровень узлов), то 32 записи могут сохраняться в узле, делая размер узла равным размеру страницы и позволяя оптимизировать обращения к диску.

+0

Очень хорошо объяснено –

3

B-tree - это дерево с n-арностью, поэтому страница представляет собой именно «n» ячейки для размещения элементов из текущего узла и ссылки на них. Для дерева B + это может быть как мета-узлы (которые содержат только ссылки), так и листовые узлы для хранения данных.

Смежные вопросы