ScramDB vs openGauss
openGauss is a PostgreSQL derivative with a separate column store you opt into per table, plus a third in-memory engine for OLTP. You pick the storage model per table up front and live with it, and its documented serializable isolation is implemented as repeatable read. ScramDB has one store that serves both workloads, genuine serializable isolation, and it answered the same analytical workload 9 times faster.
Side by side
| ScramDB | openGauss | |
|---|---|---|
| Storage model | One columnar store for every table | Row store, column store or the in-memory engine, chosen per table |
| Serializable isolation | Genuinely serializable | Documented as implemented equivalent to repeatable read |
| Execution | Queries compile to native machine code and use every core | The PostgreSQL executor lineage, with a column store for scans |
| Deployment | One binary, one process, clustering when you want it | Primary plus standby for production reliability |
| Wire protocol | PostgreSQL wire protocol, every standard driver | PostgreSQL derived |
| Row-level security | Policies on select, insert, update and delete | Policies on select, update and delete |
| Branching | Fork the database instantly, or open it as it was at any past timestamp | Backup and restore |
| AI and agents | A semantic layer inside the engine that agents connect to directly, bound by the caller’s own permissions | A vector extension with nearest neighbour indexes |
Choosing the storage model is a decision you get wrong later
Row store or column store per table means committing to how a table will be queried before you know. The table you built for transactions is the one someone reports on six months later, and changing your mind is a migration.
ScramDB has one store. The transaction and the aggregation read the same columnar data, and no table has to be nominated for one job or the other.
When openGauss is the right answer
PostgreSQL-compatible OLTP on ARM hardware with enterprise high availability requirements, under the Mulan permissive licence.
Other head to heads
Same wire protocol, same drivers, same SQL. A columnar engine and native-code execution underneath.
ClickHouse cannot hold your transactions, so it lives next to a real database with a pipeline between them. ScramDB is both.
No columnar storage, no vectorized execution, no parallel query in the community server. Every analytical scan is a row walk.
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