轻量数据库的入门我推荐你看看 flexdb-server,Go 语言写的,部署快,逻辑也蛮清晰。核心思路就是走 NoSQL 路线,支持 键值文档列族这些模型,适配场景比较多,尤其适合搞实时、做分布式系统的同学。

源码结构还挺规整的,项目主分支在master,核心代码你可以直接跟进去看。像是数据怎么存、怎么查、怎么并发控制,全写得清清楚楚。尤其你熟 Go 的话,看它怎么用goroutine并发,会觉得顺手。

存储层这块用的是本地持久化方案,做了序列化、反序列化,也有日志系统,数据挂了还能恢复。查询引擎部分也挺灵活的,自己定义语法就能搞,有点像写迷你版的 SQL 解析器。

网络通信走的是 HTTP,也自己协议封装了一套,用net库实现的。如果你要自己接入客户端,建议先看看它通信方式是怎么搞的。

分布式支持这块,源码里也有初步支持,像是数据分片、主备切换这些都有考虑。适合有集群需求的人提前踩坑。安全机制也没落下,做了认证和权限控制,生产环境也能上。

对了,相关项目你也可以一起参考看看,比如botellierTidiszookeeper这些都跟它关系比较近。

如果你正好在研究用 Go 造轮子,或者想了解 NoSQL 数据库的底层逻辑,flexdb-server是个不错的切入点,建议把源码拉下来跑一跑,再动手改点东西试试看。