Skip to content

PATTERN Cited by 1 source

Parallel multi-slice query

Fetching multiple graph data slices (adjacency lists, property sets) in parallel rather than sequentially, specifically to reduce latency for high-fanout graph traversals where a single hop expands to hundreds or thousands of edges.

Context

In JanusGraph's default getMultiSlices implementation, fetches for multiple slices may be serialized or insufficiently parallelized. For a 4–8 hop identity graph query where each hop fans out to many neighbors, serial slice fetching compounds latency multiplicatively.

Pattern shape

  1. Identify multi-slice fetch operations in the graph engine.
  2. Execute fetches concurrently (thread pool, async I/O, or batched backend requests).
  3. Aggregate results after all parallel fetches complete.
  4. Bound parallelism to avoid overwhelming the storage backend.

Seen in

Last updated · 542 distilled / 1,571 read