【发布时间】:2012-06-13 13:25:20
【问题描述】:
【问题讨论】:
-
您的重点是什么:您想练习创建自己的 DBMS,还是想练习设置和维护数据库环境?
-
@Josien :我的重点是创建一个 dbms 引擎
标签: database-design language-agnostic operating-system computer-science
【问题讨论】:
标签: database-design language-agnostic operating-system computer-science
我想您需要一个专注于教育并因此易于阅读的代码项目(更具体地说,是一个 DBMS?)?
我在这方面没有发现任何过于有用的东西。通常,大多数“免费”课程和在线资源都提供例如关于高效 SQL 使用的说明,而其他的则侧重于开发简单(并且非常专注)的 DBMS 系统。以 db-class 为例
或多或少有两个教育/学术 DBMS 系统“学校”:
第一个而且肯定更受欢迎,它基于 Elmasri 和 Navathe 的“数据库系统基础”,被认为是该领域的“圣经”。这些课程通常促进“组件堆栈”的创建,例如(从低级到高级):
另一个基于“The Third Manifestor”的教程 D(未来数据库系统的基础,作者:Date 和 Darwen)。网上有很多这样的实现,例如“Rel”、“Dee”、“Duro”、“MightTyD”等,可能值得一看,但不是最好的资源。
P.S:MINIX 和 PintOS 都是教操作系统的好软件!
【讨论】:
几年前loxim项目已经启动。它是实验性的半结构和对象数据库。它使用完全组合语言 SQBL。人们正在攻读博士学位和硕士论文。我不知道它还在开发中,但你可以联系项目负责人并尝试一下。
【讨论】:
虽然它不是一个设计为教育计划的项目,但参与开源数据库将是一个不错的选择。关系方面有大佬 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 设计、架构和代码来设计自己的教育计划。然后将其发布到网上供其他人欣赏和吸收。
【讨论】: