Skip to content

Learn by Building

Our tutorials progressively build up database knowledge, starting from simple concepts and advancing to distributed systems.

Tutorial 02: Write-Ahead Logging

PLANNED

Learn durability by implementing a WAL:

  • Binary file formats
  • Checksums for integrity
  • Crash recovery
  • fsync trade-offs

Tutorial 03: Building a Skip List

PLANNED

Implement a concurrent data structure: - Probabilistic balancing - Lock-free reads - Memory ordering - Performance analysis

Tutorial 04: SSTable Implementation

PLANNED

Build persistent sorted storage: - Binary search in files - Block-based format - Compression basics - Index structures

Tutorial 05: LSM-Tree Storage Engine

PLANNED

Combine components into an engine:

  • Write path flow
  • Read path merging
  • Compaction strategies
  • Performance tuning
  1. Real Implementation: You build actual working code, not toy examples
  2. Progressive Complexity: Each tutorial builds on previous knowledge
  3. Deep Understanding: Learn the “why” behind design decisions
  4. Practical Skills: Write production-quality Rust code
  5. Test-Driven: Every implementation includes comprehensive tests

Database Internals

  • Storage engines
  • Durability mechanisms
  • Concurrency control
  • Query processing

Rust Mastery

  • Systems programming - Safe concurrency - Performance optimization - Error handling

Engineering Practices

  • Test-driven development
  • Benchmarking
  • API design
  • Documentation

Before starting the tutorials:

  • Rust Knowledge: Comfortable with ownership, borrowing, and basic syntax
  • Command Line: Familiar with terminal/shell commands
  • Git: Basic version control understanding
  • Curiosity: Eager to understand how databases work!

Don’t worry if you’re not an expert - the tutorials explain concepts as needed.

Ready to begin? Start with Tutorial 01: Building a Key-Value Store and work your way through the series.

Each tutorial includes:

  • Step-by-step implementation
  • Exercises to test understanding
  • Complete solutions
  • Performance benchmarks
  • Real-world context