我感兴趣的是学习数据库引擎如何工作(即它的内部 struct ).我知道CS中教的大多数基本数据 struct (树、哈希表、列表等),对编译器理论也有很好的理解(并实现了一个非常简单的解释器),但我不知道如何编写数据库引擎.我已经搜索了关于这个主题的教程,但没有找到,所以我希望其他人能给我指出正确的方向.基本上,我想了解以下信息:
- 数据在内部的存储方式(即表格的表示方式等)
- 引擎如何找到所需的数据(例如,运行SELECT查询)
- 如何以快速高效的方式插入数据
以及可能与此相关的任何其他主题.它不必是磁盘上的数据库——即使是内存中的数据库也可以(如果更简单的话),因为我只想了解它背后的原理.
非常感谢你的帮助.