写在前面
回想这两年自己为了在弱鸡学校活出个计科生样来,写过简单的OS(入门),设计过数据中心的网络架构(入门级应用),唯独在数据库领域我还没有入门,作为计科毕业的学生我真的汗颜,另外实习加毕业快两年的经过也让我明白了自己对职业生涯的发展更清晰了一些,所以这篇文章就是一个小菜鸡记录自己实现数据库的一些心得体会,也是为了能更好的理解业界的一些实现,比如看etcd的设计时我对mvcc的理解是是哦,我懂了,然后过两天又忘了,典型的掌握无能啊摔(。
实现步骤
本着一口不能吃一个胖子的自我认知,我决定实现数据库参考知乎某位前辈的步骤:
- 阶段1: 无事务, 单线程, 仅存在于内存的数据库
- 阶段2: 无事务, 单线程, 不可靠的磁盘数据库
- 阶段3: 单事务, 单线程, 可靠的磁盘数据库
- 阶段4: 多事务, 多线程, 可靠的数据库
争取在2021年前完成,也算是圆了我大学时候的一个梦。