🐇 Trino
SQL over data you do not own — no storage, no indexes, no tables of its own, so every performance question is really about pushdown and somebody else’s file layout. Catalogs and connectors, broadcast against partitioned joins, the memory limit that fails a query instead of slowing it, and an honest episode on when DuckDB would have done.
No lessons published yet — this is the roadmap, so you can see exactly what the course will cover before it lands.
Before you start: Data Warehousing — Series 2, and Series 3. Columnar storage, partitioning and data skipping are what make a query over object storage fast, and Series 3 · 20 there is the lakehouse this engine reads. Trino cannot make badly laid-out data fast, so a reader who has not met those ideas will blame the engine.
Short on time? The 15 episodes marked core are the shortest path to being productive at work. Start there and pick up the rest whenever a job asks for them.
Series 1 · An Engine With No Storage
catalogs, connectors, and how one query becomes many tasks
- 01
No Storage, No Indexes, No Tables of Its Own — What Trino Actually Is
coreintermediatecoming soon - 02
catalog.schema.table — a Catalog Is a Configured Connector, Not a Database
coreintermediatecoming soon - 03
Connectors — Object Storage and Databases, and Why They Are Not Equivalent
coreintermediatecoming soon - 04
Coordinator, Workers, Splits and Stages — Where a Query Actually Runs
coreintermediatecoming soon - 05
EXPLAIN and the Web UI — Input Rows Against Output Rows at the Source
coreintermediatecoming soon - 06
Project — Answer a Business Question From Parquet You Did Not Load
coreintermediate#projectcoming soon
Series 2 · Making It Fast
pushdown, layout, joins and the memory that stops a query dead
- 01
Pushdown — the Only Optimisation That Really Matters, and How to Prove It Happened
coreadvancedcoming soon - 02
The Layout Is the Tuning — Partitions, File Size, and Ten Thousand Tiny Files
coreadvancedcoming soon - 03
Broadcast or Partitioned — Which Side Moves, and Dynamic Filtering
coreadvancedcoming soon - 04
Memory Limits — Why a Query Fails Instead of Slowing Down
coreadvancedcoming soon - 05
Statistics It Does Not Own — Why the Planner Guessed, and Where to Look
advancedcoming soon - 06
Project — Halve a Query Without Changing a Word of the SQL
coreadvanced#projectcoming soon
Series 3 · Federation, Sharing and Reality
several systems in one query, a cluster shared with others, and when not to
- 01
One Query, Several Systems — the Party Trick, and Who Pays For It
coreadvancedcoming soon - 02
Views and Materialized Views — the One Place Trino Nearly Owns Something
advancedcoming soon - 03
Sharing a Cluster — Column Access Across Every Source, and Why You Were Queued
coreadvancedcoming soon - 04
Fault-Tolerant Execution — When a Lost Worker Stops Killing the Query
advancedcoming soon - 05
Trino, Presto and the Managed Distributions — Which One Is That Answer About?
advancedcoming soon - 06
When Not to Use Trino — DuckDB, a Warehouse, or Just Spark
coreadvancedcoming soon - 07
Project — Federate Two Sources and Prove Where the Work Happened
coreadvanced#projectcoming soon
Not here, on purpose
- SQL itself — covered in Learn SQL. Trino's dialect is close to the standard, and where it differs is a footnote rather than a series
- What makes a folder of Parquet into a table — covered in Apache Iceberg & Table Formats. In this course, Series 1 · 05 covers only how Trino is pointed at one and what it expects a catalog to provide
- Object storage itself — buckets, keys, lifecycle rules and cost — covered in Data Ops, Series 1 · 47. This engine reads it and never manages it
- Whether to federate at all — covered in Data Warehousing, Series 3 · 22, which is federation as a decision. In this course, Series 3 · 00 is the mechanism and what it costs when a connector cannot push down
- Large batch transformation and machine learning pipelines — covered in Apache Spark, which is built for long jobs that survive a lost worker. In this course, Series 3 · 25 says so plainly rather than pretending the overlap is total
- Running the cluster — sizing, deployment, upgrades, monitoring — covered in Data Ops for the discipline, and Kubernetes for Data Workloads if it lands on a cluster. In this course, Series 3 · 10 covers only what a query author must know about sharing one