Skip to main content
All comparisons/ScramDB vs StarRocks

ScramDB vs StarRocks

StarRocks is a capable MPP analytics engine, and it is a cluster: frontend nodes for metadata and planning, backend nodes for storage and execution, three frontends for high availability. ScramDB answered the same analytical workload faster from a single process, while also serving the transactional half of the application that StarRocks expects to live somewhere else.

Faster
1.4x
ScramDB 31.6s against StarRocks 43.0s. Both systems answered every query.
Faster from cold
1.4x
ScramDB 189s against StarRocks 262s. First touch, nothing cached.
Smaller on disk
1.1x
ScramDB 16.1 GiB against StarRocks 18.4 GiB. Same data, after load.
Faster to load
1.2x behind
ScramDB 717s against StarRocks 621s. Full 100 million row ingest.
At a glance

Side by side

ScramDBStarRocks
What you deployOne binary, one processFrontend and backend nodes, three frontends for high availability
Transactional workloadServed by the same engine on the same copyLoad jobs are transactional; the operational database lives elsewhere
Wire protocolPostgreSQL wire protocolMySQL protocol
Referential integrityForeign keys, CHECK constraints, triggers, stored proceduresNot documented
Row-level securityPolicies enforced in the engine for every readerNot documented
BranchingFork the database instantly, or open it as it was at any past timestampBackup and restore
AI and agentsA semantic layer inside the engine that agents connect to directly, bound by the caller’s own permissionsVector index for approximate nearest neighbour search
LicenseCommunity free up to 64 GiB stored, Enterprise beyondApache 2.0

One process against a cluster

StarRocks splits metadata and execution across separate node types, which is how it scales past one machine and also what you have to operate before the first query runs. ScramDB is a single binary: it uses every core of the machine it is on, and it answered this workload faster than the cluster did.

And it holds your data, not a copy of it

StarRocks is fed from an operational database somewhere else. ScramDB is that database as well, so there is no pipeline, no lag and no second schema to keep aligned.

When StarRocks is the right answer

Very large real-time analytics that genuinely needs to scale across many machines, with a team that wants an Apache-2.0 MPP engine and is comfortable running a cluster.

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.