Dubious Database Design
summary
A static transcript site stores everything in Redis-as-primary-store and ends up reimplementing SELECTs and joins, painfully slower than a real RDBMS; Redis persistence bugs lose months of cache when saves fail. A table-per-service pattern explodes query counts on profile pages; adding columns for every language becomes a thousands‑column disaster and table locks take hours. Someone implements rendering templates in the database with PL/Python and it actually works but becomes unversioned, fragile, and horrifically hard to maintain.
AI-written summary · about
chapters (18)
- 0:00Start
- 1:44Learning from failure.
- 4:33Read-only, forever.
- 5:04GET chapter-1 GET chapter-2
- 7:10Ignoring JOIN
- 8:56HASH JOIN
- 16:10The database isn't magic.
- 16:44The Table Lover
- 17:14Tables/columns per customer Configurable CMS columns
- 18:12Columns per language 300 - 400 language variants
- 21:05The Cold Boot
- 23:16The Optimist
- 24:45What happens if just one dies?
- 26:56The Primary Optimist
- 28:30IDs are numbers we can do maths on
- 29:48The Function Lover
- 33:41Ask why, or try yourself. Don't write it off without context.
- 38:00Confreaks








