~/talk

Small Data: Databases in the real world

Talkat PyCon Australia 2014 · 2014-08-01..08-05· [databases]
slides:none on file

Advice: target teams of 1–100 engineers, prioritize migrations and deployment speed over premature scaling, prefer Postgres preferred for lockless schema changes, use add nullable column for free then backfill, run databases on dedicated beefy boxes not noisy VMs, add read replicas and pin writes to master to avoid stale reads, start sharding with 2048 logical shards and consistent hashing, denormalize via nullable backfills, and accept some inconsistency because replication lag >10s breaks things rather than losing availability.

AI-written summary · about

  1. 0:00SMALL DATA DATABASES IN THE REAL WORLD
  2. 2:00Scalable designs are a tradeoff: NOW vs LATER
  3. 3:02Small company? Agency? Focus on ease of change, not scalability
  4. 3:32Rapid development Continuous deployment Hardware choice Scaling 'breakpoints
  5. 3:52Rapid development It's all about schema change overhead
  6. 6:45Continuous deployment It's 11pm. Do you know where your locks are?
  7. 7:251-to-1 relation and backfill
  8. 9:49Hardware choice ZOMG RUN IT ON THE CLOUD
  9. 10:52Memory is king Your database loves it. Don't let other apps steal it.
  10. 13:24Sharding point Vertical split Consistency leeway
  11. 14:37Migration plan Implement consistent hashing on primary key Make large number of logical shards (2048?) Map logical shards to single physical shard Migrate shards using replication
  12. 16:29Migration plan Replicate database to new server Route split tables there, disable replication or - Slowly backfill new datastore with fallback lookup
  13. 18:16Migration plan Add NULL fields to dependent tables App code to fetch and fill if not present Possibly prefill on save of new items
  14. 19:34Consistency leeway Can you take inconsistent views?
  15. 20:40Migration plan Change your site! Talk to your designers! Deliberately introduce inconsistency!
  16. 22:21Big Data isn't one thing It depends on type, size, complexity. throughput, latency...
  17. 23:14Focus on the current problems Future problems don't matter if you never get there
  18. 24:27Good architecture affects product You're not writing a system in a vacuum
~/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.