Что такое страница B-дерева - PullRequest
10 голосов
/ 23 марта 2010

Мне кажется, я знаю, что такое B-дерево, но что такое страница B-дерева?

Ответы [ 2 ]

15 голосов
/ 23 марта 2010

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

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

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

3 голосов
/ 23 марта 2010

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

...