7

我想深入学习数据库系统的实现。是否有一个用于教育目的的开源简单数据库实现,我可以通过代码?就像有很多操作系统实现(Minix,Pintos ...)。我想知道是否也有类似的数据库教育系统。

我读了几本教科书,它们主要侧重于理论和概念。

非常感谢!阿尔弗雷德

4

3 回答 3

8

然后找一些教育材料 :) 当我学习 db 概念时,我的教授要求我们编写一个简单的 dbms。一个重要的参考是Redbase

http://infolab.stanford.edu/~widom/cs346/

希望有帮助。

于 2012-04-20T23:25:01.993 回答
3

MySQLPostgreSQLSQlite都是开源的。你可以找到他们的源代码和相关文档。
还要检查NoSQL数据库组。

于 2012-04-20T06:00:39.647 回答
2

是什么让您认为实现数据库很简单?

您对数据库的哪些部分感兴趣?存储管理?索引?查询语言?查询计划?交易?

现代(甚至是“玩具”)关系系统具有所有这些组件,这使得它们从一开始就相当复杂。其他数据库,例如基于 dbm 的数据库要简单得多。然后你有像 Lucene 这样的东西,它是一个文档和自由格式文本的数据库——概念上很简单,但在扩展方面付出了很多努力。

如果您对查询语言感到好奇,可以查看 SPARQL 的实现,因为它们适用于 RDF 三元存储(这不是超级复杂)。

还有像 Prevlayer 这样的东西,它是一个内存数据库,使用了一个叫做流行度的概念。可能是所有这些中最简单的,当你真正开始时。

于 2012-04-20T06:05:51.507 回答