Operator fusing versus the volcano iterator model

The volcano iterator model is an internal data processing model. Nearly every relational database system makes use of it. It basically says that each atomic operation is only capable to processing one row at a time. By expressing a database query as a directed acyclic graph (DAG), which connects individual operators together, data flows in the opposite direction of the edge direction of the graph. Again, one row at a time, which means that multiple operators run in parallel, but every operator processes a different, and only one, row at a time. When fusing operators together (this is what whole stage code generation does), the volcano iterator model is violated. It is interesting to see that such a violation was done after decades of database research and actually leads to better performance.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.227.102.50