Skip to main content
All comparisons/ScramDB vs Trino

ScramDB vs Trino

Trino is a federation engine: a coordinator and a fleet of workers that read other systems’ files and tables through connectors. It stores nothing, so every guarantee about your data belongs to whatever sits underneath, and multi-statement transactions are connector-dependent at best. ScramDB owns the storage, holds the transactions, and answered the same analytical workload 11 times faster.

Faster
11x
ScramDB 31.6s against Trino (data lake, single) 356s. Both answered every query.
Faster from cold
2.9x
ScramDB 189s against Trino (data lake, single) 540s. First touch, nothing cached.
At a glance

Side by side

ScramDBTrino
Owns the dataYes: its own storage, with real transactions behind itNo: it reads other systems through connectors
TransactionsFull ACID up to serializable isolation across your schemaTransaction syntax exists; real guarantees depend on the connector underneath
What you deployOne binary, one processA coordinator plus worker nodes
Triggers and proceduresTriggers and PL/pgSQL proceduresNo CREATE TRIGGER; procedures come from connectors
Row-level securityPolicies enforced in the engine for every readerDepends on the underlying system and catalog configuration
Wire protocolPostgreSQL wire protocol, every standard driverIts own client and JDBC driver
BranchingFork the database instantly, or open it as it was at any past timestampNot applicable: it holds no data
AI and agentsA semantic layer inside the engine that agents connect to directly, bound by the caller’s own permissionsNot part of the engine

Federation is a feature, not a foundation

Querying across a lake, a warehouse and three databases from one SQL prompt is genuinely useful, and Trino is very good at it. It is also, structurally, a layer with nothing of its own: no storage, no durable transactions, no constraints, and a performance ceiling set by whatever it is reading from.

ScramDB is the thing underneath. It holds the rows, enforces the constraints and answers the analytical query from its own columnar store, on one machine, without a coordinator to size or workers to schedule.

When Trino is the right answer

You have data in five places, you are not consolidating it any time soon, and one SQL interface across all of it is worth a cluster. Trino is Apache 2.0 and does that job well.

The measurement, as of 5 September 2026. A full analytical workload over 100 million rows of real web analytics data, run on a 16 vCPU AWS instance. Ours is a single ScramDB node in its stock configuration, with the GPU off and nothing tuned for the test. Rival figures are those systems’ own published results for the same instance type. These are the numbers as of that date, not a permanent scoreboard: the engine is tuned continuously and it has got faster through every round of this work, so a later run should read better than this one.

Run it yourself in one line

One static binary, no dependencies. It picks its own config, listens on the postgres port 5432 and runs in the background.

$curl -fsSL https://scramdb.com/install | bash

Quick start · How the engine works · Talk to us

A full analytical workload over 100 million rows of real web analytics data, run on a 16 vCPU AWS instance, measured 5 September 2026. Ours is a single ScramDB node in its stock configuration, with the GPU off and nothing tuned for the test. Rival figures are those systems’ own published results for the same instance type. These are the numbers as of that date, not a permanent scoreboard: the engine is tuned continuously and it has got faster through every round of this work, so a later run should read better than this one.