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