Our tutorials progressively build up database knowledge, starting from simple concepts and advancing to distributed systems.
Tutorial 01: Building a Key-Value Store Start your journey by building a simple in-memory key-value store with HashMap. Learn about basic storage operations, error handling, and the builder pattern.
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
Real Implementation : You build actual working code, not toy examples
Progressive Complexity : Each tutorial builds on previous knowledge
Deep Understanding : Learn the “why” behind design decisions
Practical Skills : Write production-quality Rust code
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