Faster Analytical Queries with the Cypher Parallel Runtime
summary
Neo4j’s Parallel Runtime executes a single Cypher query across multiple threads when opted in per query, targets read‑only analytical workloads and cannot write. It adds work stealing and partitioned operators, rewrites aggregations, and reuses memory buffers. Benchmarks show many slow queries run 5–6× faster and near‑linear scaling as CPUs increase after fixes that removed thread starvation and CPU‑count regressions. Opt‑in is the only config change; expect faster long‑running scans, variable‑length traversals and label subtraction patterns, but not faster sub‑millisecond lookups.
AI-written summary · about
chapters (18)
- 0:00Introduction to parallel runtime
- 1:39What is the parallel runtime
- 3:49Targeting analytical queries
- 4:54Query engine lifecycle
- 6:19Opting into parallel runtime
- 7:22Execution graph and morsels
- 9:13Parallel execution in action
- 10:16Performance benchmarks
- 12:49Scaling challenges
- 13:55Thread monitoring tool
- 15:38Work stealing improvements
- 16:22Thread starvation issue
- 18:11Fixing scheduling problems
- 19:14CPU scaling results
- 19:36Memory and aggregation fixes
- 20:20Percentile aggregation improvements
- 21:23Dedicated partition operators
- 22:08Summary and future
related talks
30mPerformant GraphRAG Improving Neo4j to Drive Autonomous AI ...
19mA Runtime System for Interruptible Query Processing – When Incremental Computing Meets(…)
38mParallelism in PostgreSQL 15
23mDisrupting Customer Data Platforms: Neo4j vs. the Status Quo
22mParallel Processing in PostgreSQL
19mScalable Graph Processing with Parallel Graph AnalytiX
52mEnhance your work with graph database
58m"Run Query Run" - A Fresh Look at SQL Wait Stats
