When Your Data Sources Disagree: Designing a Database That Preserves the Truth A company is preparing to replace three old systems with one new database. The CRM says customer 1842 is called Northstar Labs. The billing system says Northstar Laboratories Ltd. A...
External IDs Are Not Your IDs: Modeling Identity Across Systems A backend team adds one column to the customer table: stripe_customer_id Six months later, another integration arrives: hubspot_contact_id Then the company migrates its support platform, imports customers...
When “Current” Lies: How to Model Relationships That Change Over Time A support manager opens a customer record and sees that the account belongs to the Enterprise plan. Nothing looks wrong. Then finance asks a different question: “Which plan was this customer on when...
Your Database Is Quietly Deciding What Your Product Is Allowed to Become A schema rarely announces its biggest decisions. It does not display a warning that says, “This customer may only belong to one company,” or “An order can never change ownership,” or “We have...
The Schema Is Where Your Product Makes Its Promises A database does not merely store what your application has already decided. It decides what your application is allowed to believe. That sounds dramatic until a simple product feature turns into a week of awkward...
The Schema Is the Product’s Memory: Why Database Design Shapes What Your App Can Become A database does not simply store information. It remembers the world in a particular way. That sounds dramatic until you have to change a real product. A customer asks why they...
Recent Comments