~/talk

Dubious Database Design

Talkat DjangoCon US 2015 · 2015-09-06..09-11· [databases]
slides:none on file

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

  1. 0:00Start
  2. 1:44Learning from failure.
  3. 4:33Read-only, forever.
  4. 5:04GET chapter-1 GET chapter-2
  5. 7:10Ignoring JOIN
  6. 8:56HASH JOIN
  7. 16:10The database isn't magic.
  8. 16:44The Table Lover
  9. 17:14Tables/columns per customer Configurable CMS columns
  10. 18:12Columns per language 300 - 400 language variants
  11. 21:05The Cold Boot
  12. 23:16The Optimist
  13. 24:45What happens if just one dies?
  14. 26:56The Primary Optimist
  15. 28:30IDs are numbers we can do maths on
  16. 29:48The Function Lover
  17. 33:41Ask why, or try yourself. Don't write it off without context.
  18. 38:00Confreaks
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.