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
Top of the Week
No top articles yet