How Does a Database Work?

  • What format is data saved in? (in memory and on disk)
  • When does it move from memory to disk?
  • Why can there only be one primary key per table?
  • How does rolling back a transaction work?
  • How are indexes formatted?
  • When and how does a full table scan happen?
  • What format is a prepared statement saved in?

In short, how does a database work?

I’m building a clone of sqlite from scratch in C in order to understand, and I’m going to document my process as I go.

Table of Contents

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

sqlite architecture

原文: https://cstack.github.io/db_tutorial/