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

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

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


文章目录

      • 0-前言
        • 能力基础(考研后)
        • 文章内容(会增加项目)
      • 1-成长日志
        • ---- 2022 ----
        • 2022.04
        • 2022.05
        • 2022.06
        • 2022.07
        • 2022.08
        • 2022.09
        • 2022.10
        • 2022.11 - 2022.12
        • ---- 2023 ----
        • 2023.01 - 2023.02
        • 2023.03
      • 2-学习资源
        • 数据库相关
        • VScode配置c++,插件,主题
        • win10安装linux子系统并进行开发
        • Linux相关
        • git 相关
        • 其他


0-前言

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

1-成长日志

---- 2022 ----
2022.04
  • CMU15445 全部课程(除了最后分布式那两节),对数据库构成和设计有了基本了解,学会了很多专业英语单词。
  • Main Memory Database Systems 综述阅读(一遍粗看,一遍笔记,没有完全吃透)
2022.05
  • 海南当义工,冲浪一个月
2022.06
  • CMU15445课设:Project1,Project2(我的笔记:1,2)
  • 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-学习资源

数据库相关
  • CMU 15445:卡耐基梅隆大学经典数据库课程
  • Main Memory Database Systems一篇优质内存数据库科研综述
  • CMU 15721:CMU数据库大牛老老师数的据库前言技术paper研读课程(附带论文)
  • 如何在win10用vscode编写 CMU-15445-lab:我做实验配置环境的经验
VScode配置c++,插件,主题
  • 官方c++插件配置文档
  • 使用clang对代码自动格式化
  • 好看的主题:Dracula Official(直接在拓展处下载)
win10安装linux子系统并进行开发
  • 配置wsl,并配置C++环境
  • windows配置linux子系统图形界面
  • pull仓库失败解决办法
  • linux配置国内镜像源
Linux相关
  • ubuntu18.04配置中文输入法
  • linux子系统安装git并连接github仓库
git 相关

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

其他

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


你可能感兴趣的:(数据库,c++,数据库架构,数据库开发,数据库)