在 C 被当做“高级语言”,雷布斯和小马哥还在写代码的年代,数据库还不是一个成熟的事物。
前言
和很多技术从简单到复杂的发展历程不太一样,数据库首先成熟并被大规模使用的是 RDBMS(关系型数据管理系统),后来才逐渐兴起了实现相对简单,以 Redis 为代表的 KV 型的数据库。
数据库从后端的技术上看是一个算法、数据结构、系统工程、性能优化的交汇点。
笔者一直对数据库领域充满了兴趣,前前后后主导和参与了很多数据库及相关系统的开发。这三年的主要业余时间都在研究数据库,由于大多数数据库项目都历史悠久,代码量基本都在50万行以上,阅读起来让人颇感头疼。咬牙坚持了两年,有了一点点心得,分享给大家!
因此决定写一个代码量尽量少,但又能有现代数据库的基本架构的项目,于是花了一周时间写了“GO SQL DB”。
“Go SQL DB” 是一个研究目的的支持SQL查询的关系型数据库。主要目标是为了向数据库爱好者展示一个关系型数据库的基本原理和关键设计。
因此,为了便于理解,采取了很多取巧但不是很严谨的设计,代码量控制在了 2000 行左右(包含了 400 多行的单元测试代码)。