七月
July 01, 2021

说说我这个月的安排把。

首先是工作。在 PingCAP 做 TiDB 的好处在于,我大部分的工作内容是服务于开源项目的,因此实际上我可以完全公开我在做的事情。

接下来两个月的主要工作有三个部分,都是在 TiDB 侧的功能开发。

一个是与 SQL General 组合作的 SQL placement rule 功能,这个功能旨在为本来复杂 HTTP 接口配置的 placement rule 提供 SQL 支持,允许用户以更便捷的方式配置 placement rule。placement rule 是 TiKV 上 region 分布管理的规则,通过 placement rule 可以吧不同业务对应的表数据在 TiKV 上进行隔离,避免负载间相互影响,也可以用来支持 Geo-partitionining,让 TiDB 可以更好地支持跨地区部署。期待做这件事情可以让我更深入地理解底层存储的逻辑,也多与其他组的小伙伴多交流学习。

第二个是支持 TiDB Cloud 做备灾的 read only 功能开发。本质上就是支持一个新的全局变量,打开之后让整个集群切换为只读模式,拒绝掉所有可能修改数据的 SQL。这个功能我已经在 https://github.com/pingcap/tidb/pull/25340 中实现了,目前还差集成测试与性能测试。

第三个是下推 projection 算子到 TiKV 上。这个功能可以让更多算子被推到 TiKV 上执行。于我而言,做这个功能可以让我更了解 TiDB 下推的计划生成和 TiKV 上 coprocessor 的原理,也可以动手写点 rust 代码,因此我也颇为期待。

上面三个事情的容量已经比较大了,额外能做的事情应该不多了,但想做的事情还有很多,一步一步慢慢来吧。

学习上来说,我会把 CMU 15443 的 lab 做掉,顺便补上一些我了解不深的部分的 lecture,应该会写一些 lecture notes 放到博客上。我其实没怎么写过像话的 C++,以前搞竞赛充其量只写过 C with Class,对现代 C++ 的很多概念都是一头雾水,所有非常期待做完这套 lab 能对 C++ 有更多的认知。

这样安排下来,其实业余时间就不会很多了,我估计都会拿来陪老婆吧(笑)。

生活方式上,总算有点回到谈恋爱之前的状态了。早点到公司干活,早点下班回家。健身做饭洗洗睡觉。早上醒来的时间,多投入到学习与写作之中吧。

过去这一年过得挺快的,一眨眼我就毕业一周年了。理论上我应该有很多感慨,但在目前这个时间节点,我只想奋力多做点事,因此感慨就慢慢抒发吧。