木鸟杂记

分布式系统,数据库,存储

2023 年终总结——穷则思变

IMG_8879.JPG

2023 年倏忽而过,事后来看,要用一个词来形容的话,就是——穷则思变

穷倒并非是物理上穷的吃不下饭,而是更接近穷则独善其身”中困顿的穷。思想上原先很多赖以生存的观念维持不下去了,因此经历了一个痛苦地重塑过程。这倒并非坏事,只不过其间被动的思想拉扯,现在想来仍然倍感折磨。当然,正是这些逆境逼迫我们跳出“群体思维”进行求索(think different),纵一时痛苦,却能有所得——每个人毕竟要走出属于自己的路。

那这一年到底发生了哪些改变呢?

作者:木鸟杂记 https://www.qtmuniao.com/2024/01/04/2023-summary 转载请注明出处

首先是生活上的,由于家庭原因,年中搬来英国生活。继而引起工作上的变动,辞了工作,计划到英国再找,仗着积累,初时甚为乐观,继而被现实来了一记闷棍——完全摸不着头脑的那种。最后我痛苦的发现,找一个我原来方向(存储、分布式和数据库等大规模数据系统方向)的工作并不容易,甚至我放低匹配度,投了一些数据和后端的工作,也杳无音信。当然我可以拉出来很多因素:

  1. 英国偏 infra 的工作并不多
  2. 我需要公司 sponsor 工作签
  3. 我没有英国学习工作经历
  4. 我的口语不是很够用
  5. 我对英国面试流程不熟

但我自己也知道,尽管我准备了不少,也投了很多,但终是没有放下全部“身段”,背水一战——死磕英语、充分备面、全方向投等等。终归心底仍不愿废掉之前 infra 的职业路径。当然,这也可能是一个借口,来掩盖我对这种落差的不适、对融入新环境的抵触。但无论如何,我低估了融入这边的难度,并且没有为此做好准备。

更何况,我所在的小镇好吃的实在是太少了(手动斜眼)!还有,英国的他就没多少天亮的时候(纬度高日照短就不说了,还成天阴天下雨)。久了,是真的容易致郁。久无工作、天天小黑屋、再加上每天独自买菜做饭的日子,使得下半年心情格外艰难。想象中的可以到处转转,至此,是根本没有心力。不多的亮色是通过羽毛球(国外发小红书真的可以聚拢一些同好)在这边认识了一些很棒的华人朋友,一块打打吃吃,勉为坚持。

上半年在公司的时候,做了几个重要的功能,还是挺开心的。印象最深的有执行计划下推和分布式事务调研。执行计划下推是沟通计算层和存储层的桥梁,算是很重要的一个模块,感谢四王的信任。以此为契机,上下延伸、左右博引,点亮了数据库中以前模糊的一些脉络,补充了相关的一些论文和项目,成长良多。分布式事务虽然我出力不多,但是跟着一块调研和讨论,同时对照阅读分享 DDIA 的相关章节,想算是弄懂了各种烂七八糟奇怪的一致性,明白了为什么“时钟”是分布式系统中“最重要”的事。

下半年在英国的时候,无业,焦虑如影随形,但多少也做了些事情。DDIA 超级超级长的两章(对,说的就是批处理和流处理),文字稿写完了,不过流处理那一章还没有在 b 站分享。粗略用 wc -m 统计下前十一章的文字量,也快有三十万字了。鉴于字字手打,也算殊为可观了。很多地方需要理解、斟酌后等价变化(做过翻译的同学应该知道我在说啥),中间也难免挣扎。而且最后三章是真的冗长,因此 b 站上常有同学问最后的章节还更不更,虽然我一直嘴硬,说更。但内心知道其实一直处于“结尾”与“烂尾”之间。

小尾巴:如果对 DDIA 感兴趣,但是又感觉像猫看到鸡蛋一样——无从下嘴,可以订阅我的专栏《DDIA 学习会》,我会每周对书中细节进行答疑。由于大规模数据系统 infra 的从业经历,让我可以对书中一些晦涩难懂的细节提供一些工业上的实例和视角。当然,说是答疑,主要还是和大家交流,互相促进。

其他的,就是重新做了下 MIT 6.824(现在已经改名了)的 lab,这已经是第三遍了,顺畅了很多,也因此生出了更多经验、感悟和心得,和 roseduan 大佬合作,放到了一门“课程”(带引号是因为可能叫心得更为合适)里。对 Raft 和 Go 感兴趣的同学可以关注下。

还有,就是更新我的大规模数据系统专栏《系统日知录》了,这是今年开的一个小报童专栏,现在有不到九十篇文章、一百多个同学订阅支持。刚开始时,方向也不是很明确,所以起了一个这样不太明白的名字。但后来随着我对之前工作经历的梳理、对 DDIA 的持续分享、对将来想要干的事情的思考,我把定位固化为“大规模数据系统”。当今任何数字化的系统都离不开数据,而且是海量数据,于是就要诉诸分布式系统,即大规模。在这个领域内,我试图通过工作、阅读和分享一点点拼图,慢慢扎下一些根,占下小小的一席之地。 以下是从专栏里遴选的,发在公众号的一些文章:

  • 构建和维护星球最强对象存储系统的一点微小经验
  • Firebolt:如何在十八个月内组装一个商业数据库
  • ER 模型背后的建模哲学
  • NUMA-Aware 执行引擎论文解读
  • 数据处理的大一统——从 Shell 脚本到 SQL 引擎
  • 生活工程学(一):多轮次拆解
  • 数据库面试的几个常见误区
  • Facebook Velox 运行机制全面解析
  • 写好代码,我的三个 Code
  • 图数据库系列(三):图的表示
  • 分布式图库系列—— 图模型和 Cypher

纵然如今大模型大行其道,其背后生态所需海量数据的采、存、算、用等数据流,仍尚无规约,也将是本专栏今后的一个主要关注方向。

小报童专栏.png

作为程序员,我今年写文字甚至要比写代码多不少,毕竟下半年无业,只能靠文字为生。虽然最后收入并不多,但收获却不少。文字输出本质上是一种锤炼思维的过程,虽然很缓慢,但在时间维度上积分过后,总量倒也可观。

年末的时候,发现一个 up 主: 课代表立正。他采访了很多有意思的嘉宾,创业的、海归的、财富自由的、退休两年的、技术转投资的,聊天节奏把握的很好,我受到不少启发。看完一些视频后,对亮点印象很深:

  1. 框架性思维。比如知识树,举一反三。
  2. 工具和目标混淆。比如赚钱和自由。

虽然这两点老生常谈了,我也听过无数遍了,甚至第一点我在文章中也说过很多遍了,但为什么还会有启发?且听我慢慢铺垫。

人脑在理解东西的有趣之处在于,得积累够足够多的经历后,才能抽象出一些一阶规律;在积攒够了足够多的一阶规律后才能进而堆叠出二阶规律;循环往复,达到至深层的“万法归一”的通透。这种抽象的树形组织很像我们数据库领域中一种常用的数据结构——B+ 树。我们知道 B+ 树有个性质——所有的插入都发生在叶子节点上。这些视频也是,各个嘉宾的经历,给我的思维树凑了一些叶子结点,到达某种临界,引起了我的思维树(B+ 树中常见)的“级联分裂”,从而触到了一些之前苦苦思索却不得要领的深层问题的答案。

虽然知道了这些道理,我之后可能仍然会反复、可能仍然会掉到“文人相轻”(peer pressure)的怪圈中,但我相信收敛速度会越来越快。

今年去的地方少,新鲜的地方也就南疆大环线和英国了。且,由于思维上的紧绷,后者就很囫囵的吞了一些景色,没有心思细品。在南疆有两个地方印象很深——高昌古城和喀什古城。

高昌故城.jpg

与其他西域古国不同,高昌是一个汉族政权——汉朝屯兵的后代,最终城毁于蒙古铁骑,可怜宫阙万间,都做了土。我们的幸运之处在于,蹭到了一个旅游团请的资深解说。随着摆渡车在不同区域停靠,解说大叔信手拈来,曰某某处,昔为某所,有何掌故。其口气云淡风轻,但对这方土地、这段历史的热爱却难以抑制的流露。

如果说高昌古城是“死”的古城,那喀什老城便是“活”着的老城,老而不朽,活色生香。我以此名上传到图虫,顺手投稿了中国日报新媒体中心主办的一个比赛,竟然第一次在摄影比赛中得奖。
图虫获奖.png

世上之事难言难传,无心插柳的喜讶,反而更胜于,有心栽花的梦成。所以我还是希望自己能慢慢“松弛”下来,多做一些“心怀善念”的无用之事,多结一些“无用”之善缘。说到这里,我又想起之前一次对加我微信的一个同学,由于一直讲不到我想要的“重点”,被当时忙着的我略显粗暴的打断,实是追悔。

英国的小镇,兼具国内乡村的景色与闲适、城市的便捷与审美,确实宜居。但彼时,我总被没有工作的隐忧淡淡环绕,不能自轻,自然也没法充分品尝这份安宁,愿他日再得赐良机。

IMG_8516.JPG

最后,人类总是矛盾。譬如,我们需要社交来锚定自己、却又不能从众来拘囿自己。因此凡事总需要拿捏一个度,老祖宗说“中庸”,今人说“松弛”,愿 2024 大家能忠于内心所愿!

去年年终总结:2022 年终总结 —— 充实和迷茫