Skip to main content
All comparisons/ScramDB vs TimescaleDB

ScramDB vs TimescaleDB

TimescaleDB is the best answer available inside PostgreSQL: hypertables, a columnstore for older chunks, and full Postgres transactions throughout. It is still the PostgreSQL executor underneath, with no vectorized engine or JIT of its own, and its multi-node story was deprecated in 2.13. ScramDB is 18x faster on the same queries and clusters natively when you need it.

Faster
18x
ScramDB 31.6s against TimescaleDB 569s. Both systems answered every query.
Faster from cold
15x
ScramDB 189s against TimescaleDB 2,756s. First touch, nothing cached.
Faster to load
4.1x
ScramDB 717s against TimescaleDB 2,930s. Full 100M row ingest.
Smaller on disk
1.1x
ScramDB 16.1 GiB against TimescaleDB 18.0 GiB. Same data, after load.
At a glance

Side by side

ScramDBTimescaleDB
StorageOne columnar store for all data, at every age. Nothing to convert, no policy to tuneHypercore: recent chunks in the Postgres row heap, older chunks converted to a compressed columnstore
ExecutionQueries compile to native machine code and run on every core: 31.6 seconds for the whole analytical workloadPostgreSQL’s executor with parallel query. No separate vectorized or JIT engine beyond what Postgres provides
Updating old dataAn ordinary transactional UPDATE at any ageUPDATE and DELETE work on compressed chunks; unfiltered ones can convert whole batches back to rowstore and recompress
Scale outTurn on clustering when you need it, with the same guarantees across the cluster and across regionsMulti-node deprecated as of 2.13. Single node plus streaming replication
Beyond time seriesA general-purpose relational database that happens to be fast at time rangesOptimized around a time partitioning key
AI and agentsA semantic layer built into the engine that AI agents connect to directly, bound by the caller’s own permissionspgvector and pgvectorscale, a strong vector story
TransactionsFull ACID up to serializable isolation, across one machine or manyFull PostgreSQL ACID, inherited
LicenseCommunity free to 64 GiB stored, Enterprise for clusteringApache 2.0 core with advanced features under the Timescale License

Where the 18x comes from

TimescaleDB’s columnstore is a genuine improvement on a heap, and it shows: 569 seconds against PostgreSQL’s 11,896. ScramDB answered the same queries in 31.56 seconds. The remaining gap is the executor. Compressed columns still have to be handed to the PostgreSQL executor, which was not built to run vectorized code over them, and there is no JIT that compiles the whole pipeline to native machine code.

One store, not two tiers

ScramDB has no rowstore-to-columnstore conversion policy to configure, no compression job to schedule and no chunk age to reason about. Data lands in the columnar store immediately and an UPDATE against a two-year-old row is an ordinary transactional statement.

When TimescaleDB is the right answer

You are on PostgreSQL, your workload is genuinely time series, and you want the win without leaving the ecosystem. That is a very good position and TimescaleDB serves it well, with continuous aggregates and retention policies that are hard to beat inside Postgres.

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.