The Computing Series

Introduction

A startup launches in three months using a relational database where every tenant’s data sits in shared tables, filtered by tenant_id. At launch, this is correct: multi-tenant isolation is not needed yet; a single database is simpler to operate. Two years later, the largest customer demands data residency — their data must stay within EU jurisdiction. Three engineers spend four months on the migration. The migration was not caused by bad engineering at launch. It was caused by a deliberate decision that was appropriate at launch and expensive later.

This is technical debt as architecture: a deliberate tradeoff between the cost of building the right thing now and the cost of changing it later. The startup made the right call. The engineering team that handles the migration paid the interest.

Read in the book →