3

Pintos Project was a very educational experience for me. I like the idea of making a set of test cases pass and working with a live system.

Are there educational projects like this for Database Systems?

Edit: My focus would be to create a dbms engine

4

3 回答 3

0

我想您需要一个专注于教育并因此易于阅读的代码项目(更具体地说,是一个 DBMS?)?

在这件事上,我没有发现任何过分有用的东西。通常,大多数“免费”课程和在线资源都提供例如关于高效 SQL 使用的说明,而其他的则侧重于开发简单(并且非常专注)的 DBMS 系统。以 db-class 为例

或多或少有两个教育/学术 DBMS 系统“学校”:

  • 第一个当然更受欢迎,它基于 Elmasri 和 Navathe 的“数据库系统基础”,被认为是该领域的“圣经”。这些课程通常促进“组件堆栈”的创建,例如(从低级到高级):

    • 磁盘块和中间内存管理
    • 记录和索引管理
    • 查询解析、优化和实用程序
    • 意见
  • 另一个基于“The Third Manifestor”的教程 D(未来数据库系统的基础,作者:Date 和 Darwen)。网上有很多这样的实现,例如“Rel”、“Dee”、“Duro”、“MightTyD”等,可能值得一看,但不是最好的资源。

PS:MINIX 和 PintOS 都是教操作系统的好软件!

于 2012-06-15T12:04:46.527 回答
0

几年前loxim项目已经启动。它是实验性的半结构和对象数据库。它使用完全组合语言 SQBL。人们正在攻读博士学位和开发它的硕士论文。我不知道它仍在开发中,但您可以联系项目负责人并尝试一下。

于 2012-06-17T11:40:03.647 回答
-1

尽管它不是一个设计为教育程序的项目,但参与开源数据库将是一个不错的选择。关系方面有大佬 MySQL (http://www.mysql.com/) 和 PostgreSQL (http://www.postgresql.org/),然后是 CouchDB (http://couchdb.apache. org/) 或 MongoDB (http://www.mongodb.org/) 用于“NOSQL”端。

当然,在这些努力中,从小处着手总是最好的,所以我会推荐 SQLite (http://www.sqlite.org/) 之类的东西。

事实上,如果你有足够的野心,你可以围绕理解 SQLite 设计、架构和代码来设计自己的教育计划。然后将其发布到网上供其他人欣赏和吸收。

于 2012-06-20T14:08:34.007 回答