Эффективные постоянные структуры данных для реляционной базы данных
-
08-07-2019 - |
Вопрос
Я ищу материал о постоянных структурах данных, которые можно использовать для реализации реляционной модели.
Сохранение значения неизменяемых структур данных.
Кто-нибудь знает какие-нибудь хорошие ресурсы, книги, статьи и тому подобное?
(у меня уже есть книга Чисто функциональные структуры данных, что является хорошим примером того, что я ищу.)
Решение
Простое изменение вездесущего B-дерева очень просто. Просто всегда выделяйте новый узел всякий раз, когда узел модифицируется, и возвращайте новый узел рекурсивному вызывающему, который вставит его на этом уровне путем выделения нового узла и т. Д. В конечном итоге возвращается новый корневой узел. На одну операцию выделяется не более O (log N) узлов. Р>
Это метод, используемый в функциональных языках для реализации, например, 2-3 деревьев.
Другие советы
Я реализовал такую структуру данных для BergDB (http://bergdb.com/) — база данных с моделью данных, представляющей собой постоянную структуру данных.
Я бы посоветовал прочитать
http://www.cs.cmu.edu/~sleator/papers/Persistence.htm
Это оригинальная работа о том, как создать постоянную структуру данных на основе обычной (эфемерной) структуры.
SQLite имеет реализацию структуры данных b-дерева вы можете взглянуть на; Р>