2012-04-20 50 views
7

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

我读了几本教科书,主要关注理论和概念。

非常感谢! Alfred

回答

3

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

+0

谢谢!我被授予了这一点。但是,我认为它们对于初学者来说太复杂了......我正在寻找一种功能非常有限但展示了概念的产品。 – 2012-04-20 06:05:00

+0

SQLite看起来不错,结构很清晰。我建立并查看了代码。虽然它不是很小,但可以处理。 – 2012-04-20 14:51:56

+0

@AlfredZhong,SQLite是一个基于文件的数据库。它目前正在使用Android和HTML5作为本地存储。它也有一个很好的空间扩展Spatialite – Habib 2012-04-20 14:55:09

2

是什么让你觉得实现一个数据库很简单?

你对数据库有什么兴趣?存储管理?索引?查询语言?查询计划?交易?

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

如果您对查询语言感兴趣,您可以查看SPARQL的实现,因为它们对RDF三重存储(这不是非常复杂)有效。

还有一些像Prevlayer这样的内存数据库,它使用了一种叫做“普遍性”的概念。可能是所有这些中最简单的一件事情,实际上当你着手它时。

+0

谢谢!我从来不认为数据库系统很简单。我对所有人都感兴趣,但希望逐一学习,而不是全部一起学习。如果有一个系统显示其中一个概念,那就是我正在寻找的。我会看看你在这里提到的系统。 – 2012-04-20 06:19:36