Why a real database, and the schema

The array that forgets everything

Every service so far has held its data in a plain array β€” private readonly walkers: Walker[] = [ ... ] from module 05. It works in a demo and lies about production. The moment the Node process restarts β€” a deploy, a crash, an autoscaler killing a pod β€” every walker, every booking, every GPS fix is gone. Run two instances behind a load balancer and each one has its own array, so a booking created on instance A is invisible to instance B.

A real backend keeps its data in a database β€” for PawWalk, PostgreSQL β€” that survives restarts and is the single shared source of truth all your instances read and write.

The senior framing: an in-memory array is a cache with no backing store. The question is never whether you need a database β€” it's whether you've admitted it yet.