Мне интересно узнать, как работает механизм базы данных (т.е. внутренние элементы). Я знаю большинство базовых структур данных, преподаваемых в CS (деревья, хеш-таблицы, списки и т.д.), А также довольно хорошее понимание теории компиляторов (и реализовал очень простой интерпретатор), но я не понимаю, как идти о написании механизма базы данных. Я искал учебники по этому вопросу, и я не мог найти их, поэтому я надеюсь, что кто-то другой может указать мне в правильном направлении. В принципе, я хотел бы получить информацию о следующем:
- Как хранятся данные внутри (например, как представлены таблицы и т.д.).
- Как движок находит нужные данные (например, запускает запрос SELECT)
- Как данные вставляются в быстрый и эффективный способ
И любые другие темы, которые могут иметь отношение к этому. Это не обязательно должна быть база данных на диске - даже в базе данных в памяти отлично (если это проще), потому что я просто хочу изучить принципы, стоящие за ней.
Большое спасибо за вашу помощь.