TGViewer
codedump的电报频道 codedump的电报频道 @codedump_notes · 5.5K subscribers
Post #311 1.74K
#杂
我记得大概是去年这个时候,由于前公司要重构一下存储元数据的存储引擎,开始研究怎么实现一个轻量级的存储引擎。

当时想研究一下市面上的B+Tree版本的存储引擎,可是有的项目很大(Innodb、WireTigger等),有的项目就是个玩具,只能演示原理做不到生产级别。这段时间可以说压力很大,印象最深的是当时去北京团建外出到景区,当天凌晨有世界杯亚洲区预选赛澳大利亚对中国,睡不着就一边看代码一边听比赛。

这时候偶然看到的一个精简的2.5版本的sqlite btree库,只有几千行代码,这个简单的实现打开了理解生产级B+Tree实现的大门。

在这之后就是“顺势”看了更高版本的sqlite btree实现,这些故事都写在了:《sqlite3.36版本 btree实现(零)- 起步及概述》。

仅就“生产级B+Tree”实现而言,sqlite的实现虽然还是有各种问题:比如效率不高等,但是都向我展现了总体的实现思路,后面再看这方面的实现也有了基础,比如今年研究了ARIES这篇论文,最近还在看BW-Tree的论文。

现在一年时间过去了,我又开始探索一个新的领域:Jepsen,想在项目里使用上这个项目来验证我们系统的实现,初期仍然跟以往自己独立研究一些问题一样遇到很多困难,因为太多新的知识点没有接触过:Clojure、模型检验(Model checking),等等。

回头来看,很多我后来看来获得技术上很大成长的时候,都是这种独立、深入研究某个领域之后带来的:身边没人请教、自己找答案、深入阅读文档、代码,等等。这样的经历多了以后,对这种压力似乎也感到适应,对压力之后的收益也清楚,甚至对解决这些难题有一些期望了。
  • 👍 36
  • 😁 1
More from @codedump_notes
  1. Sep 27, 2026#系统编程 讲解Go语言并发主题的小书:《Go concurrency distilled》
  2. Sep 22, 2026#开源软件 开源本来承载的主要任务之一就是赢得信任,智谱这一把开源不但没有赢取信任,反而让更多人感到了疑问,比如我。
  3. Sep 22, 2026#开源项目 #Rust #数据库 hawdb:Rust编写的嵌入式图数据库,用于Nowledge产品中管理本地图数据。
  4. Sep 21, 2026#Rust #人工智能 最近看了好几个Rust相关的新闻,比如: * Rust在微软内部升级为一级语言:《Guest Post: Rust Is Tier-1 Language a…
  5. Sep 19, 2026#人工智能 这个翻译可以说是 信达雅 了。
  6. Sep 15, 2026#人工智能 《我不得不把才华埋葬在昨天》,Deepseek 核心开发的文章,也许再过一段时间,他就不用亲手写算子了。
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →