Non-relational (NoSQL) databases are often chosen to avoid upfront schema design, but they actually impose stricter upfront requirements than relational databases. Three key pitfalls are covered: changing the primary key is costly and often requires a full data rewrite; adding new access patterns is difficult without secondary index support; and the workarounds for these problems accumulate into fragile, hard-to-manage application-level hacks. Relational databases, with normalization and controlled denormalization via secondary indexes, were specifically designed to handle evolving domain knowledge and access patterns — making them more flexible, not less.

8m read timeFrom calpaterson.com
Post cover image
Table of contents
Problem 1: Difficulty changing primary keyProblem 2: Difficulty changing access patternProblem 3: Inability to manage the hacks added to fix problems 1 and 2Contact/etcFurther reading

Sort: