数据库内核:研究生成长记录(附带资源)(最近更新:2023.02.10)

数据库方向 - 研究生生涯成长记录

作为一篇记录/资源帖,将不定时分享数据库学习进度,心得,以及学习资源整合到这一篇博客。



转战知乎了,知乎只发优质文章

链接:https://www.zhihu.com/people/kai-shui-a

0-前言

能力基础(考研后)
  • 专业课:操作系统,数据结构,计算机组成原理,计算机网络基础扎实。数据库本科基本等于没学(刚及格)。
  • 代码:代码量还可以,但没做过严格的线上项目,也没有比较深入的CPP能力(差不多是当成C来写的)
  • 研究方向:内存数据库。
文章内容(会增加项目)
  • 学习日志(附带对应笔记或资源链接)
  • 学习资源整合

1-成长日志

---- 2022 ----
2022.04
  • CMU15445 全部课程(除了最后分布式那两节),对数据库构成和设计有了基本了解,学会了很多专业英语单词。
  • Main Memory Database Systems 综述阅读(一遍粗看,一遍笔记,没有完全吃透)
2022.05
  • 海南当义工,冲浪一个月
2022.06
  • CMU15445课设:Project1,Project2(我的笔记:12
  • Opengauss-MOT 浅看了下华为的数据库的内存引擎,没有记住太多东西
2022.07
  • CMU15445课设:Project3(我的笔记:3
  • CMU15721-lecture 12 Recovery Protocols:内存数据库日志和恢复办法。
  • peloton CMU的一个开源内存数据库存储引擎,日志系统部分源码理解+文档撰写(我的文档
2022.08
  • 仿照 peloton 日志部分的源码设计了一个日志系统的框架(但后来没有用到)
2022.09

(CMU15445 的项目太保姆了,除了内核的代码和C++,没学到太多其它的东西,所以开学有点磕磕绊绊)

  • 编译 mysql-8.0 + Mypeloton 存储引擎数据库源码,本来可以很简单,但折腾了很多方案(子系统,虚拟机,双系统,远程)
  • 折腾的时候这些方面都有学到新的东西:Docker,Cmake,gdb,wsl2,Clion(目前使用的IDLE),Linux。
2022.10
  • 要给 peleton 日志部分加功能,所以 peloton 日志部分的代码可以说是滚瓜烂熟了,跟日志相关的 concurrency, store 部分也稍微看了下
  • 顺便看了些 mysql 连接 peloton 存储引擎的接口部分代码。
  • 给 peloton 实现了一个用日志文件构建快照的检查点,只要能获取到日志文件就可构建快照,甚至可以在另外一台电脑上进行。
2022.11 - 2022.12
  • peloton 日志代码逻辑部分有重大错误,推翻重写了。
  • 为 peloton 日志增加了多线程落盘和恢复功能。
  • 为 peloton 增加了运行中检查点,修复 bug 过程中,熟悉了 peloton storage 部分的代码。
  • 为 peloton 增加了索引恢复功能,了解了一些索引部分的知识。
---- 2023 ----
2023.01 - 2023.02
  • 为了将 peloton 运用在 MGR 场景,对 peloton 中对 mysql 存储引擎接口部分的实现进行了修改和补充,主要是使其满足 xa 两阶段提交协议。从而学到了mysql存储引擎接口的一些知识,也从源码层面了解了 mysql 加上 binlog 后,底层提交的逻辑。
  • 测试 MGR 时,学到了一些高可用的基本概念,学会了基本的 mysql 主从布局的配置。
2023.03
  • 看了一遍 raft
  • 横向的 MGR 有点问题,还在修改
  • 未来可能做 Larger-than-memory DB,看了些论文
  • 开始刷力扣了,为实习做准备

2-学习资源

数据库相关
VScode配置c++,插件,主题
win10安装linux子系统并进行开发
Linux相关
git 相关

git配置token(帐号密码登陆失效)

其他

论文管理工具 Zotero 安装翻译插件 translator
Zotero pdf 预览插件


  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值