昨晚了解到计科软工的数据库课程在实践方面稍微欠缺些,正好最近自己在写一个Database,那正好可以分享一下
这里墙裂推荐Berkeley的CS186 Introduction to Databse Systems
我自己是做的fall 2013 , 这个课程的 Homework 会实现一个叫 SimpleDB 的数据库(Java实现) , 从名字也能看出 , 挺简单的 , 实现起来也不会太复杂。它把整个框架都给你搭好了,只需要像填空一样把方法实现好,也在文档中放了很多实现的提示,复杂一些的地方还会提供一些辅助的方法帮助理解,甚至基于ZQL库提供了一个现成的SQL Parser,单元测试用例也挺丰富。
我自己断断续续写了快一个月才快写完Project3 , 我估计有兴趣的朋友连续认真地写的话 , 两个星期就能完事 , 前提是 Java 不生疏 。用别的语言重构的话,就得自己写SQL解析器了。
总的来说,有些余力的朋友可以试试实现一波,把理论(查询优化器的成本估算,left-deep tree之类的)和实践结合起来。
貌似Spring 2020也不错,还有分布式事务之类的(逃