构建简单的数据库服务

134 阅读1分钟

1.前言

数据库是我们在日常开发中一直使用的持久化组件。但是,『你是否曾思考过它是如何工作的?』

  • 数据在内存和磁盘上的存储格式是什么样的,它们有何区别,为什么有这样的区别。
  • 数据是如何在内存和磁盘之间“流动”。
  • 索引的格式是什么样的。
  • 全表扫描时到底发生了什么。

我们将通过构建一个简单的数据库服务来解答上述的问题。

2.连载内容

我将使用连载的方式,跟大家分享如何逐步构建一个简单的数据库服务:TinySQL。

  • TinySQL-1-整体架构
  • TinySQL-2-通讯协议设计
  • TinySQL-3-服务端并发模型
  • TinySQL-4-客户端命令行工具
  • TinySQL-5-SQL词法分析与语法分析
  • TinySQL-6-纯内存只写的数据库
  • TinySQL-7-持久化
  • TinySQL-8-光标的抽象
  • TinySQL-9-BTree简介
  • TinySQL-10-BTree叶子节点格式
  • TinySQL-11-二分搜索
  • TinySQL-12-重复的主键
  • TinySQL-13-叶子节点的分裂
  • TinySQL-14-递归搜索BTree
  • TinySQL-15-扫描多层的BTree
  • TinySQL-16-节点分裂之后更新父节点
  • TinySQL-17-分裂内部节点

3.写在最后

今天分享的内容就到这里,『如果本文对你有所帮助,记得关注我,我将持续在掘金上分享技术干货,关注我,下期分享不迷路』。