【发布时间】:2009-06-27 05:44:52
【问题描述】:
我有兴趣了解数据库引擎的工作原理(即它的内部结构)。我知道 CS 中教授的大多数基本数据结构(树、哈希表、列表等),并且对编译器理论有很好的理解(并且已经实现了一个非常简单的解释器),但我不明白该怎么做关于编写数据库引擎。我已经搜索了有关该主题的教程,但找不到任何教程,因此我希望其他人可以为我指明正确的方向。基本上,我想了解以下信息:
- 数据在内部的存储方式(即表格的表示方式等)
- 引擎如何找到它需要的数据(例如运行 SELECT 查询)
- 如何以快速高效的方式插入数据
以及可能与此相关的任何其他主题。它不一定是磁盘数据库——即使是内存数据库也可以(如果更简单的话),因为我只想了解它背后的原理。
非常感谢您的帮助。
【问题讨论】:
-
这个问题已经结束了,这是理所当然的,但由于有一些评论活动,我认为仍有人从谷歌来到这里。我有同样的问题,发现this great paper about relational DBs architecture很有见地
标签: sql database theory database-engine