~/talk

How Shopmonkey built a geo aware automotive care platform

Talkat RoachFest 2023 · 2023-10-03..10-04· [databases, frontend-architecture]
slides:none on file

Shopmonkey migrates core data from MongoDB into a three-super-region CockroachDB deployment (nine nodes) to serve 6,000 shops and add ~200–300 locations per month, pushing toward 30 billion yearly transactions. Key specifics: crdb_region on every table and added to foreign keys to avoid mismatches, complex distributed queries (some with ~50 joins) rely on explain analyze for routing, a custom data proxy with prepared-statement caching and intelligent pooling sits between services and DB, real-time changefeeds into NATS JetStream, and online schema rollouts via the wrench online migrations tool.

AI-written summary · about

  1. 0:00Welcome and Introduction
  2. 0:26What is Shopmonkey?
  3. 1:38Shopmonkey's software architecture before CockroachDB
  4. 2:58Why Shopmonkey chose CockroachDB
  5. 3:20Using multi-region managed CockroachDB
  6. 3:46Architecture for a multi-region database
  7. 4:55Using global tables in CockroachDB
  8. 5:45Why adding crdb_region to where clauses can be critical for performance
  9. 6:58Routing data in CockroachDB with geo aware global load balancers and a location aware service mesh
  10. 8:26How Shopmonkey's custom connection pooler handles prepared statement caching, pooling, and intelligent caching
  11. 9:46How Shopmonkey uses changefeeds (CDC)
  12. 11:17Performing real-time, online migrations
  13. 13:05Inside Shopmonkey's dev environments
  14. 14:17Tracing and logging
  15. 16:11Closing notes
~/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.