← All courses

🐇 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

  1. 01

    No Storage, No Indexes, No Tables of Its Own — What Trino Actually Is

    coreintermediatecoming soon
  2. 02

    catalog.schema.table — a Catalog Is a Configured Connector, Not a Database

    coreintermediatecoming soon
  3. 03

    Connectors — Object Storage and Databases, and Why They Are Not Equivalent

    coreintermediatecoming soon
  4. 04

    Coordinator, Workers, Splits and Stages — Where a Query Actually Runs

    coreintermediatecoming soon
  5. 05

    EXPLAIN and the Web UI — Input Rows Against Output Rows at the Source

    coreintermediatecoming soon
  6. 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

  1. 01

    Pushdown — the Only Optimisation That Really Matters, and How to Prove It Happened

    coreadvancedcoming soon
  2. 02

    The Layout Is the Tuning — Partitions, File Size, and Ten Thousand Tiny Files

    coreadvancedcoming soon
  3. 03

    Broadcast or Partitioned — Which Side Moves, and Dynamic Filtering

    coreadvancedcoming soon
  4. 04

    Memory Limits — Why a Query Fails Instead of Slowing Down

    coreadvancedcoming soon
  5. 05

    Statistics It Does Not Own — Why the Planner Guessed, and Where to Look

    advancedcoming soon
  6. 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

  1. 01

    One Query, Several Systems — the Party Trick, and Who Pays For It

    coreadvancedcoming soon
  2. 02

    Views and Materialized Views — the One Place Trino Nearly Owns Something

    advancedcoming soon
  3. 03

    Sharing a Cluster — Column Access Across Every Source, and Why You Were Queued

    coreadvancedcoming soon
  4. 04

    Fault-Tolerant Execution — When a Lost Worker Stops Killing the Query

    advancedcoming soon
  5. 05

    Trino, Presto and the Managed Distributions — Which One Is That Answer About?

    advancedcoming soon
  6. 06

    When Not to Use Trino — DuckDB, a Warehouse, or Just Spark

    coreadvancedcoming soon
  7. 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