![362562849c6d5711a5419db0f5bcb15c.png](https://i-blog.csdnimg.cn/blog_migrate/5cc361eee0afb7caea9eb47bdd043205.jpeg)
前言:
MIT 6.830的数据库系统课程一直在网络上被大家所推崇,自己也是早早的Mark下来,囤在收藏夹里吃灰。疫情期间公司要求在家隔离14天才能返工,于是无聊之际阴差阳错打开了6.830的课程页面,开启了自己的数据库学习之旅。
自己在完成6.830课程的每个Lab之后会做一个小结,写一份实验报告,希望借着报告的形式,回顾并加强自己的理解,同时也做到抛砖引玉的作用。若是能给同样学习6.830数据库系统课程的大家提供一点点的帮助,那更是求之不得。
另笔者只是一个工作三年的初级工程师,数据库领域又是一门需要花一辈子深挖的领域,一定有理解有偏差或错误的地方,还请大家狠狠的拍砖并毫不留情的加以嘲讽,以激励我继续前行……
Lab 5的记录
Lab5开始于5月10日,一开始也是先看《数据库系统概念》这本书,在基本弄懂了回滚和恢复的理论之后,开始着手进行Lab 5 RollBack and Recover的实现。大致于5月20日完成本实验,本实验难度和代码量小于索引和事务这两个Lab,约等于Lab3,难于Lab1和2。
SimpleDB自己实现了一套日志体系,相比于工业级数据库的日志系统要简单一些,不显式的区分UndoLog和RedoLog(更没有binLog这类日志了。。。),而是简单的将数据库的所有变更相关