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