~/talk

An Overview of the Starburst Trino Query Optimizer

slides:none on file

History and specifics of Trino's optimizer: engine evolves from expensive transformation passes to a fast rule-based planner, adds a cost-based optimizer in 2017 using CPU-weighted cost, full join reordering and bushy trees, and runtime dynamic partition pruning and dynamic filtering that cut some federated queries from hours to minutes by skipping partitions and waiting briefly before issuing remote SQL. Connectors (Parquet/Hive/AWS Glue/Oracle) get operator, projection and aggregation pushdowns; prototypes for materialized-view caching and fault-tolerant multi-stage planning are under development.

AI-written summary · about

  1. 0:00Start
  2. 5:23New Way: Single Point of Access
  3. 6:26Architecture
  4. 7:40Data Source Connectors
  5. 8:07Federation is challenging
  6. 11:36Early state (2016)
  7. 16:16New data types and syntax support (2016)
  8. 17:01Rule based optimizer (2016) support (2016)
  9. 20:05CBO (2017)
  10. 21:15Filter estimation
  11. 29:47Join type selection
  12. 30:19Join left/right side decision
  13. 31:02Join reordering with filter
  14. 31:43Benchmark results with CBO
  15. 33:10Assume distinct values match
  16. 33:51Assume predicates are correlated
  17. 34:46Fallback to table size for join type/side selection
  18. 36:20Dynamic filtering (2019-...)
  19. 37:26Node local dynamic filtering
  20. 38:32Dynamic partition pruning
  21. 40:32Awaitable dynamic filters
  22. 44:11Advanced connector pushdown (2019-...)
  23. 44:48Dereference pushdown
  24. 46:16Projection pushdown
  25. 46:56Current initiatives
  26. 47:20Plan substitutions/Caching
  27. 49:18Multistage planning
  28. 56:26Thank you for joining!
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.