0%

Let's Build a Simple Database - How Does a Database Work

原文地址:https://cstack.github.io/db_tutorial/
原文作者: cstack
译者:Win-Man

一个数据库是如何工作的?

  • 在内存中、在磁盘上数据存储格式是怎么样的?
  • 什么时候数据库从内存转移到磁盘?
  • 为什么每个表只能有一个主键?
  • 事务回滚是如何工作的?
  • 索引的格式是怎么样的?
  • 什么时候会发生全表扫以及全表扫是如何工作的?
  • 预处理语句是以什么形式存储的?

简而言之,问题就是数据库是怎么工作的?

为了搞明白这个问题,我用 C 写了一个 sqlite 的克隆版本,并且记录了我的整个过程。

目录

“What I cannot create, I do not understand” - Richard Feynman

sqlite architecture

sqlite architecture (https://www.sqlite.org/arch.html)