Hacker News new | ask | show | jobs
by whirlwin 2103 days ago
This is useful for most small apps or truly monolithic apps. ...But normalization in a distributed environment with 50+ apps? Really? You need to have some sort of duplication unless you want big bottlenecks, performance penalties, and hot headaches

From the linked MS article: "Redundant data wastes disk space and creates maintenance problems"

Made me laugh well

2 comments

> You need to have some sort of duplication unless you want big bottlenecks, performance penalties

I think that's called a cache. You can still have solid database design at the core. Then add redis on top of it.

It can be non cached data as well. Imagine a data that needs to be sorted by data that's owned by another another service. You need to replicate the data as you can't do a join+sort between the data coming from two apis effectively. You don't treat that data as a source of truth, but do use it some UI purposes.
Duplication is OK provided there are strict, documented rules about which copy is the "point of truth". If the duplicates diverge you need to know how to fix them.