trinodb/trino

Data

A distributed SQL engine that lets analysts query data across many separate stores with one query instead of moving it all first.

13,374
3,843
Java
Apache-2.0
7 years old

Trino is worth adopting when your data is already scattered across different systems and you want SQL over all of it without a large migration project. It is a query engine, not a warehouse, and that distinction drives most of the trade-offs below.

The problem

You want to answer one question that spans data living in different places: a Hive table, an object store, a relational database, maybe a stream. Without a federated SQL layer, the usual path is to extract each source, land it in one store, reshape it, and only then query. Each new combination of sources repeats that pipeline, and the copy drifts from the original. Trino changes the step in the middle: you define connectors per source, point one SQL client at the engine, and the engine plans and executes the joins and aggregations across those sources. You get an answer without first assembling a new copy of the data.

What's different

Trino is a distributed query engine built in Java: client queries are parsed, planned and then split across worker nodes, and the README frames the whole project around fast analytics on big data rather than transactional work. The practical benefit is that you can keep data where its owning team already stores it and still give analysts a single SQL surface, with connectors for lakehouse formats and Hadoop-style storage listed among the project's topics. It also exposes JDBC, so existing SQL tools and dashboards can connect without a custom client.

The trade-off is that Trino is infrastructure you run and integrate, not a library you drop in. The repository you see is the engine and its plugin ecosystem; the deployment path goes through the user manual and download page rather than a single install command. Compute is yours to size, and query performance depends on how each connector pushes work down to the underlying source. Connector behavior also varies, so a query that is cheap on one source may be costly on another. Some connectors are third-party projects outside this repository.

Who should try it

It fits teams that already have a data lake or several analytical stores and want cross-source SQL, especially when a warehouse consolidation is too slow or too political to attempt. A platform team evaluating a shared query layer for multiple analyst groups is the clearest good fit, because the engine becomes a single access point and the sources keep their own ownership.

It is a poor fit for an application that needs low-latency point lookups or transactional writes, and for a single small dataset where one database already answers every query. If you have no existing distributed storage or connector-backed sources, the setup cost buys little. Confirm that a connector exists for each source you need before planning around it.

Requirements and limitations

Building from source requires macOS or Linux, JDK 25.0.1+, and Docker; on Apple Silicon the README notes that some npm packages used for the web UI are x86-only, so Rosetta 2 is needed. The first Maven build downloads all dependencies and can take a while, so plan for a slow initial setup and a faster rebuild afterward. The comprehensive test suite is disabled in the documented build command and runs in CI; the README recommends running tests locally only for the code you change, which matters if you contribute patches.

For development, the documented route is a TpchQueryRunner testing server with the TPCH connector, or the full DevelopmentServer through IDE run configurations, then connecting the bundled CLI. Follow the user manual for deployment and end-user documentation and the download page for releases; the development guide covers the build and release process. Ongoing work is plugin and catalog configuration: which connectors are enabled, their properties, and how each source handles pushdown. Version alignment between server and connectors deserves attention during upgrades.

HotRepo's take

HotRepo's only dated observation is 2026-10-27, when the repository showed 13,374 stars and +6 stars that day on the daily board. That single daily-board sample is not enough to judge whether interest is rising, fading or stable, so treat the trend as unmeasured rather than encouraging or discouraging. On the merits, the decision turns on whether you need cross-source SQL badly enough to operate a distributed engine and its connectors; check the connector documentation for your most important source before committing.

Hacker News

Written by AI from the project's README, updated October 27, 2026. The project's own docs are the source of truth.