Back to directory

Build a Typed Database Expression Engine in Rust

A hands-on Rust course that builds a small, type-safe, auto-vectorized database expression engine across five modules and ten cumulative, independently testable checkpoints.

Build a Typed Database Expression Engine in Rust

This course teaches advanced Rust by building a type-safe, auto-vectorized database expression engine. It works through the type families and checked boundaries a real expression engine needs: borrowing strings without copying, preserving nulls, reading several column representations, coercing types, and selecting functions at runtime, so that authors write one scalar operation while generic unary, binary and ternary adapters reuse a checked batch path.

Its five modules move from physical values to the engine's outer async boundary: type families and nullable views; shared evaluation and transactional strings; shape specialization and binary semantics; runtime erasure and a physical catalog; and logical binding, one-level lists and batch async. Each of its ten checkpoints extends the same starter project and keeps earlier tests passing, with roughly half a day of work expected per checkpoint.

It assumes familiarity with ordinary Cargo use, enums, traits, references and Option, and deliberately stops short of decimal arithmetic, casts, an aggregate engine and per-row futures.

More in Tutorials

See all 478
  • BootLife

    github.com

    Conway's Game of Life implemented to run directly from a 512-byte x86 boot sector in assembly, using VGA memory itself as the simulation grid.

  • A technical blog post deriving the Y combinator as a composition of combinator birds in an array language, and examining how eager evaluation changes fixed-point recursion compared with the usual lazy telling.

  • System Design Atlas

    atlas-sysdes.vercel.app

    A free reference of worked system design problems with interactive architecture diagrams, covering ranked designs such as a feed, a chat app, a URL shortener, and a rate limiter, plus pages on the technologies behind them.