Skip to main content
All comparisons/ScramDB vs BigQuery

ScramDB vs BigQuery

BigQuery is serverless analytics with a meter attached to every query: on-demand pricing is charged per tebibyte scanned, primary and foreign keys must be declared NOT ENFORCED and exist only as planner hints, and a mutating transaction is capped at 100 tables and blocks other mutating transactions on the same table. ScramDB runs on your own hardware with no per-query bill, enforces its constraints, and serves the transactional workload on the same copy the analytics reads.

Cost per query
Zero
BigQuery on-demand pricing charges by the tebibyte each query scans. Your dashboard has a running meter.
Constraints
Enforced
BigQuery requires primary and foreign keys to be declared NOT ENFORCED; they are planner hints only.
Where it runs
Your machine
BigQuery exists only as a Google Cloud service.
Transactions
Serializable
Full ACID up to serializable isolation, with no cap on how many tables a transaction may touch.
At a glance

Side by side

ScramDBBigQuery
DeploymentOne binary on your hardware or any cloudGoogle Cloud service only, fully serverless
Cost modelThe machine you already runPer tebibyte scanned on demand, or per slot hour on capacity pricing, plus storage
ConstraintsPrimary keys, foreign keys, unique and CHECK constraints, enforcedPrimary and foreign keys must be NOT ENFORCED. Integrity is the application’s problem
Transaction limitsNo table or partition cap on a transactionAt most 100 tables mutated and 100,000 partition modifications per transaction
Concurrent writesWriters do not queue behind each otherA mutating transaction blocks other mutating transactions on the same table
IsolationRead committed, repeatable read and serializableSnapshot isolation
Wire protocolPostgreSQL wire protocol, every standard driver and BI toolIts own API and SQL dialect
AI and agentsA semantic layer inside the engine that agents connect to directly, bound by the caller’s own permissionsNative vector search functions and vector indexes

A meter on every question

Bytes-scanned pricing makes curiosity expensive. Teams start reviewing queries before running them, partitioning defensively, and building caches whose only purpose is to avoid the bill. ScramDB costs the same whether you ask one question or ten thousand, because the cost is the machine, not the query.

Integrity is not optional

BigQuery will let you declare a primary key, as long as you also declare that it is not enforced. Duplicates and orphans land, and the optimizer may make decisions assuming they cannot exist. ScramDB enforces keys and constraints in the engine, so the data is correct at rest rather than correct by convention.

When BigQuery is the right answer

Bursty, unpredictable analytical workloads inside Google Cloud where you never want to think about capacity, and the data arrives from pipelines you already run there.

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.