Volcano, Vectorized, Compiled: How Engines Execute Your Query
Read OriginalThis article is part 6 of a series on query engine design, detailing how engines execute queries after optimization. It covers three execution models: the Volcano iterator model (used by PostgreSQL, MySQL) which processes one row at a time but suffers from virtual function call overhead; vectorized execution that processes batches of rows column-wise for better CPU cache utilization; and code generation that fuses operators into compiled code to eliminate abstraction overhead. The article discusses tradeoffs between abstraction and performance, hybrid approaches, and morsel-driven parallelism, emphasizing CPU efficiency as key in modern analytical engines where I/O is no longer the bottleneck.
Comments
No comments yet
Be the first to share your thoughts!
Browser Extension
Get instant access to AllDevBlogs from your browser