DATABASE FUNDAMENTALS
This article teaches database fundamentals by guiding the reader in building a simple database. It starts with the ACID properties (Atomicity, Consistency, Isolation, and Durability) that most databases aim to guarantee and discusses the challenges in achieving these properties. It then delves into the concept of storage engines in databases, comparing mutable B-Trees and immutable Log Structured Merge (LSM) Trees. It explains how LSM Trees are designed to minimize disk I/O and seeks, making them suitable for write-heavy workloads. The article touches on topics like bloom filters and Write-Ahead Logs (WALs) as part of database design to achieve ACID properties and isolation.