Я предполагаю, что вы спрашиваете о реализации внутренней базы данных, потому что упоминаете «неконечные узлы».
Внутренним узлам в b-дереве не нужно хранить полный ключ;им нужно только хранить ключи разделителя.Сжатие префиксов и суффиксов означает, что внутренние узлы могут быть очень плотными и, следовательно, уменьшить высоту b-дерева и, следовательно, повысить общую производительность.
Например, если индекс с последовательными ключами <'Очень длинныйстрока ', 314159> и <' Не та же строка ', 9348>, все, что должен представлять внутренний узел, - это разделение между теми теми ключами, которые могут быть представлены одним символом.Аналогичным образом, когда ключи, подлежащие разделению во внутреннем узле, имеют общий префикс, этот префикс необходимо сохранить только один раз, а точка, где они расходятся, представлена.
Конечные узлы должны хранить полный ключзначения, и могут быть сохранены в связанном списке для прохождения ключевого порядка.Страницы конечных узлов могут быть сжаты с использованием префиксного сжатия или других методов для дальнейшего уменьшения высоты дерева.
Хорошую справку по этому вопросу см. В разделе «Обработка транзакций: концепции и методы» Gray & Reuter и следуйте инструкциямссылки, если вы хотите более подробно.