~/talk

Design Good Schemas - Get a Better Database

Talkat NDC Oslo 2023 · 2023-05-22..05-26· [databases]
slides:none on file

Schemas prioritize atomic columns and domain-correct types over blobs or JSON, because opaque data types (full name, blob, packed JSON) break sorting, querying and future changes; multi-entity rows and EAV patterns create sparse nulls, lock hotspots and painful joins; primary keys prefer stable, meaningful values rather than sequential exposed IDs to avoid join bloat and environment drift; schema changes have graded costs (create cheap, altering FK columns or types costly); use migration scripts (Flyway/Liquibase) and treat ORMs as helpers for connection/codec not schema design.

AI-written summary · about

  1. 0:00Introduction
  2. 0:45Design good schemas
  3. 1:37Fitness criteria
  4. 4:10Model vs Schema
  5. 4:50Design vs Schema
  6. 5:28Model
  7. 6:31Schema
  8. 11:25Regrets
  9. 12:35Impact of change
  10. 16:25Data types
  11. 21:55How to fix data types
  12. 22:34Denormalization
  13. 25:13Multientity table
  14. 26:05Catalog item example
  15. 27:48How to fix this
  16. 30:11Abnormal Form
  17. 36:28References
  18. 45:36Sequential Keys
  19. 48:09Primary Keys
  20. 50:58ORM
  21. 55:57RMS
  22. 57:47Adhoc DDL
  23. 58:42Migration scripts
  24. 59:33Summary
~/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.