项目起因2021 年,我在面试中多次被问到数据库内核相关问题,比如 “MySQL 是如何做性能优化的?”、“InnoDB 的 MVCC 怎么实现?”。
那时我发现,虽然平时用 MySQL 很多,但对它底层协议、存储引擎、事务机制,其实了解不深。
那段时间我也刚学 Go,想真正把它用在系统编程里。
于是我给自己定了个挑战:用纯 Go 从零写一个 MySQL 兼容数据库内核,目标对齐 MySQL 5.7 协议,参考 InnoDB 的设计,支持事务、MVCC、Redo/Undo 日志…。
{dede:pagebreak/}
为什么在日本游戏中会使用紫色来表示中毒或者有毒的设计?
北京日报点名批评“苏超”过度娱乐化,它是否管的太宽了?为什么无良媒体不会被查封取缔?
发生了什么导致你从此再不吃某样食物?
跟离异的女同事聊天时,她冒出一句:「你老婆还不如我,离了跟我过得了」,我该怎么回答?
女生真正的完美身材是什么样子?
突然发现自己变老是怎样一种体验?
稿定设计这个平台的兼职怎么样?
为什么小爱音箱只能播放qq音乐免费音乐?
不懂就要问,为什么通讯如此发达的今天,还没有完全解决进电梯就没信号的问题?
做个web服务器,gin框架和go-zero怎么选?
造一艘航母有多难?
你的低成本爱好是什么?
如何评价腾讯元宝桌面端使用 Rust 的 Tauri 框架?
如何看待 Rust 写的 PNG 解码器比 C 实现更快?
瑜伽裤和牛仔裤哪个更显身材?
做客孩子临走时带走几只玩具,我的孩子抗拒并一直哭,要怎么开导?