Trino Fundamentals
Trino is a distributed SQL query engine that lets you query data in many systems through one SQL interface. It plans a query at a coordinator and has workers read and process data in parallel through connectors.
itData engineering and analytics | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Don't Panic
Don't Panic: Trino Fundamentals
Trino is the interpreter at a very busy multilingual meeting. The languages are all SQL, which helps, but the people at the table are databases, lakehouses, and other data systems that remain stubbornly in their own offices. Trino does not pack them into a new building. It sends a query to each appropriate place and assembles an answer.
The useful idea is the catalog. A catalog is a configured route to a source through a connector. The connector is the adapter that knows how to speak to that source. Put a catalog, schema, and table together and you have an address for data. This is less magical than it sounds, which is a relief because magic is expensive to debug.
A client gives SQL to the coordinator, the node that turns text into a distributed plan. The coordinator breaks that plan into stages and sends tasks to workers. Workers read splits, which are pieces of source data, and process them in parallel. When one stage needs another stage's output, an exchange moves the intermediate data. That exchange is where a polite query can become a substantial logistics operation.
The surprise is that familiar SQL does not imply familiar cost. A broad scan, an untidy join, or a large aggregation can make workers read and move far more data than the final result suggests. A filter that reaches a connector can avoid work. A filter applied after data has travelled has already missed the train. EXPLAIN shows the intended route; EXPLAIN ANALYZE adds evidence from a run.
Trino is useful for interactive analytics, federation, and SQL over lakehouse data. It is not storage, ingestion, or a diplomatic treaty with a slow source system. A catalog grants access, but it does not mend source layout, permissions, or availability. Fault-tolerant execution can retry work by retaining intermediate exchange data, but it also needs the right storage and operations around it.
Read the Cheatsheet for the names and signals that make plans legible. Use Practice to connect with the CLI, inspect a catalog, and explain a bounded query. Then follow Reference into connector documentation and administration, where the details become specific enough to charge rent.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://trino.io/docs/current/overview/concepts.html
Supports
- 00-novice.md
- 01-intro.md
- 02-slides.md
- 03-cheatsheet.md
- 04-practice-reference.md
- 05-quiz.yaml
- 07-video-script.md
- 08-exercise.md
- https://trino.io/docs/current/
Supports
- 01-intro.md
- 06-links.yaml
- https://trino.io/docs/current/connector.html
Supports
- 01-intro.md
- 02-slides.md
- 03-cheatsheet.md
- 06-links.yaml
- https://trino.io/docs/current/client/cli.html
Supports
- 03-cheatsheet.md
- 04-practice-reference.md
- 06-links.yaml
- 08-exercise.md
- https://trino.io/docs/current/sql/explain.html
Supports
- 01-intro.md
- 02-slides.md
- 03-cheatsheet.md
- 04-practice-reference.md
- 05-quiz.yaml
- 06-links.yaml
- 08-exercise.md
- https://trino.io/docs/current/admin/fault-tolerant-execution.html
Supports
- 01-intro.md
- 03-cheatsheet.md
- 05-quiz.yaml
- 07-video-script.md
- https://trino.io/blog/2020/12/27/announcing-trino.html
Supports
- 10-timeline.yaml
- https://trino.io/Presto_SQL_on_Everything.pdf
Supports
- 10-timeline.yaml
- 12-field-notes.yaml
- https://trino.io/blog/2019/08/23/unnest-operator-performance-enhancements.html
Supports
- 10-timeline.yaml
- https://trino.io/docs/current/release/release-351.html
Supports
- 10-timeline.yaml
- https://trino.io/docs/current/release.html
Supports
- 10-timeline.yaml
- https://trino.io/blog/2021/10/06/jvm-issues-at-comcast.html
Supports
- 05-quiz.yaml
- 10-timeline.yaml
- 12-field-notes.yaml
- https://github.com/sindresorhus/awesome
Supports
- 09-awesome-links.yaml
- https://github.com/oxnr/awesome-bigdata
Supports
- 09-awesome-links.yaml
- https://superset.apache.org/
Supports
- 09-awesome-links.yaml
- https://www.metabase.com/
Supports
- 09-awesome-links.yaml
- https://airflow.apache.org/
Supports
- 09-awesome-links.yaml
- https://www.starburst.io/
Supports
- 11-products.yaml
- https://www.dremio.com/
Supports
- 11-products.yaml
- https://aws.amazon.com/athena/
Supports
- 11-products.yaml
- https://cloud.google.com/bigquery
Supports
- 11-products.yaml
- https://www.snowflake.com/
Supports
- 11-products.yaml
