Life of a distributed graph database query
summary
Memgraph implements a distributed graph query pipeline: it parses openCypher with ANTLR into a C++ AST then rewrites to a cleaner AST, strips literals for query caching, and runs semantic checks that emit frame slots for variables. The planner uses operators like scan_by_index, scan_all and expand, estimates costs with heuristics (index scans vs Cartesian products) and prefers plans that reduce cross-worker RPCs. Execution uses cursor pull iterators across worker nodes with a master aggregator; ORDER BY and concurrent CRUD force global sorting or sync barriers and can blow memory.
AI-written summary · about
chapters (7)
- 0:00Start
- 4:32Parsing
- 6:23Semantic Analysis
- 7:25Symbol Generation
- 9:02Logical Operators
- 16:41Planning Distributed Query
- 27:32The End
related talks
49mModern Graph Databases
01h 00mWho’s Afraid of Graphs?
41mCypher-based Graph Pattern Matching in Apache Flink
43mDesigning Cypher - a Graph Query Language
41mGraphGen: Conducting Graph Analytics over Relational Databases
55mLet Me Graph That For You
01h 01mA Skeptics Guide to Graph Databases
20mGraphiti: Bridging Graph and Relational Database Queries
