一尘不染

如何编写一个简单的数据库引擎

sql

我对学习数据库引擎的工作方式(即它的内部)感兴趣。我知道CS中讲授的大多数基本数据结构(树,哈希表,列表等),以及对编译器理论的很好理解(并实现了一个非常简单的解释器),但我不知道该怎么做关于编写数据库引擎。我已经搜索了有关该主题的教程,但找不到任何教程,因此我希望其他人可以向我指出正确的方向。基本上,我想了解以下信息:

  • 数据如何在内部存储(即表的表示方式等)
  • 引擎如何查找所需的数据(例如,运行SELECT查询)
  • 如何以快速有效的方式插入数据

以及与此相关的任何其他主题。它不必是磁盘上的数据库,即使是内存数据库也可以(如果更简单),因为我只想学习它的原理。

非常感谢您的帮助。


阅读 168

收藏
2021-05-05

共1个答案

一尘不染

如果您擅长阅读代码,那么学习SQLite将会教会您有关数据库设计的全部知识。它很小,所以缠头比较容易。但是它也是专业写的。

http://sqlite.org/

2021-05-05