~/talk

Dataloader 3.0: An Alternative Algorithm to Solve N+1 Problems

Talkat GraphQLConf 2023 · on Thursday, 2023-09-21· at 17:00· Grand Peninsula E· [graphql, distributed-systems]
slides:none on file

Claims that replacing depth-first resolution with a three-step approach — plan depth-first, load breadth-first, render depth-first — removes the need for DataLoader-style concurrency, cutting goroutine/thread usage from about 14 to 3 (or 1 without parallel subfetches) while keeping the same four fetches and similar latency. Describes an implementation in the Cosmo router (WunderGraph), reports ~5x speedup over the previous internal implementation and compares to Apollo Router 1.3, and argues DataLoader trades N+1 for concurrency complexity.

AI-written summary · about

  1. 0:00Introduction and game
  2. 6:51DataLoader 3.0 overview
  3. 13:18Open Federation initiative
  4. 19:48Request lifecycle in router
  5. 26:17Breadth-first execution
  6. 30:15Takeaways and concurrency
  7. 33:30Future of distributed GraphQL
  8. 35:47Q&A session
~/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.