用九个月的时间入行 OLAP 数据库开发——研二的学生时光总结

Published
Updated
Last updated February 15, 2024
Tags
Description
记录 2022 年末到 2023年底(研二到研三上半学期)的学习、生活与秋招
Progress
Author
我承认,这个标题有点夸张——我一向不是自吹自擂、好高骛远的人——不过由于在这一年的“转型”时间一直受到了《应届生如何半年找到一份数据库内核开发的工作》这篇文章的指导和鼓舞,因此也效仿而为之。而这个标题也能概括我这将近一年半时光的主要工作。

研二上——拜占庭共识算法

让我们将时间拨回到 2022 年下半年。那时的我才处于研二上半学期,刚刚结束了课内学业任务,便很快又投身于小论文的科研任务中去了。从 2022 年九月份回到学校一直到十二月,我的生活就是健身房、办公室(网协的办公室,用来写代码)、食堂和宿舍。那时候研究方向从联邦学习正式转为区块链共识算法,所以学习和思考的问题都以拜占庭共识算法的设计、工程化与优化为主。
2021 年前后,是区块链发展井喷的一年(我想主要因素是因为美联储量化宽松)。在传统方向上——如比特币、以太坊—— POW 机制依然在有序演进;以 PBFT 衍生的 BFT 类共识协议也开始在主流区块链系统中有了工程实践;甚至于基于图的 DAG 类共识也逐渐成为了学术研究的新方向。为了有机会写 Rust 也恰好是实验室需要,我们使用了 Substrate 作为基础框架进行改造,产出为
substrate-MCA
fky2015Updated May 2, 2023
。那段时间也针对 BFT 设计了一些优化改进的工作,放在了
Jasmine
fky2015Updated Feb 5, 2024
中。
notion image
接着很快就到了疫情最严峻的时刻,那时学校里面已经有病例,两三天就要做一次核酸。我只能一直呆在宿舍里面,一边完成实验。这样的光景持续了一周多以后,学校就匆匆把我们赶回了家。然后接下来就是在家中度过的一个冬天。
记得当时在实验阶段,为了自动化地在多台服务器上同时完成数千次性能测试实验,我(很开心地)编写了一整套执行测试、采集、调参、分析的脚本。到后来我无人值守地用一周时间就跑完了所有实验。当时也同时沉迷使用 LaTeX 的 TiKZ 画出好看的图像(比如下图)。
notion image
然后论文写着写着就如约得了新冠。当时还记录了自己新冠全过程的统计数据。
notion image
一周后病就好了,然后论文工作也开始收尾。这时候就开始沉迷于小岛秀夫的《死亡搁浅》之中了。寒假的时光便也在新冠的余波中飞速过去。

数据库内核开发从入门到头大——研二下

假期在完成实验室任务的同时,出于兴趣,我还把 MIT-6.824 的工作收了尾。实际上最初在接触“分布式系统”这个概念的时候就有了解到这门课程。在研一下的时候我就开始了学习,并为
 
  1. 开始介绍研二下半学期转型的过程
    1. 了解了什么
    2. 学习了什么
    3. 实习
  1. 秋招的事情
  1. 开心的回忆
  1. 一些做的不好的地方
  1. 对未来的思考