▶ Watch this video on YouTube (opens in a new tab)
Here's the symptom you already know by heart: a perfectly nice Order class in C#, nested and alive with line items and customer info — and then a pile of flat SQL tables connected by ID numbers. Your code spends its whole life converting between the two. Every save, every load.
We usually explain that away as "just how data access works." Entity classes, repositories, mappers, the tests that guard the mappers. It feels like normal plumbing. It feels like our fault for not wiring it cleaner.
But the actual cause is older than your codebase. Back in 1970, a gigabyte of disk cost around $700,000. Normalization wasn't elegance — it was an economic necessity. You couldn't afford to store a tree as a tree, so you chopped it into boxes.
That world ended decades ago. Storage in Azure is twenty cents a gig now. Yet we're still paying the shape-mismatch tax on every single read and write.
Once you see it, you can't unsee it. The video walks through the whole thing — and where Cosmos DB comes in.