πŸ•ΈοΈ API Patterns and Practices: GraphQL
Chapters Examples Bibliography GitHub β†—
Home / Data Fetching at Scale
Part 6 2 chapters

Data Fetching at Scale

Paginate large lists with connections and eliminate N+1 fetches with batching and dataloaders.

Chapter 12

Connections and pagination

How a growing list becomes a Relay connection: offset against keyset pagination, edges, nodes and PageInfo, opaque versioned cursors, forward and backward paging, stability under inserts, filters and totalCount, bad arguments as BAD_USER_INPUT, one failing node nulling one edge, and the source calls a page costs.

15 min readRead β†’
Chapter 13

The N+1 problem and DataLoaders

Counting the source calls a four-cargo page costs, batching them one call per owner, the DataLoader contract and its tick, SmallRye @Source List batch resolvers against Strawberry DataLoaders, per-field against per-key loaders, bulk source operations, and what one failing key does to its batch.

16 min readRead β†’
← Previous part Schema Evolution & the Living Contract Next part β†’ Performance & Safety

API Patterns and Practices: GraphQL

Designing GraphQL APIs well, with runnable examples in Quarkus SmallRye GraphQL and Python Strawberry against one canonical SDL contract.

Site

  • Outline
  • Bibliography

Reference

  • GraphQL β†—
  • GraphQL specification β†—
  • SmallRye GraphQL β†—
  • Strawberry β†—
  • View on GitHub β†—
  • Issues β†—
Open source Β· MIT Last built 2026-10-17