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.