我想学习Depth中的数据库系统实现。是否有一个用于教育目的的开源简单数据库实现,我可以通过代码?就像有很多操作系统实现(Minix,Pintos ......)。我想知道是否有类似的数据库教育系统。
我读了几本教科书,主要关注理论和概念。
非常感谢! 阿尔弗雷德
答案 0 :(得分:8)
然后找一些教育材料:) 当我学习数据库概念时,我的教授要求我们编写一个简单的dbms代码。一个重要的参考是 Redbase :
http://infolab.stanford.edu/~widom/cs346/
希望有所帮助。
答案 1 :(得分:3)
MySQL,PostgreSQL,SQlite都是开源的。您可以找到他们的源代码和相关文档。
另请检查NoSQL数据库组。
答案 2 :(得分:2)
您认为实施数据库的原因很简单吗?
您对数据库的哪些部分感兴趣?存储管理?索引?查询语言?查询计划?交易?
现代(甚至是“玩具”)关系系统具有所有这些组件,这使得它们从一开始就相当复杂。其他DB,例如基于dbm的数据库要简单得多。那么你就有像Lucene这样的东西,它是一个文档和自由格式文本的数据库 - 从概念上讲很简单,但在扩展方面付出了很多努力。
如果您对查询语言感到好奇,可以查看SPARQL的实现,因为它们可以对抗RDF三重存储(不是非常复杂)。
还有像Prevlayer这样的东西,它是一个内存数据库,使用一个名为prevalence的概念。可能是所有这些中最简单的,当你深入了解它时。