Product
A SQL database whose only durable part is a bucket.
Each section says what is true of Gauntlet today, what it costs you, and what is still coming. Planned work is labelled and is worth nothing until it is built.
One durable bucket, disposable nodes
AvailableThe bucket holds a journal per shard, ownership barriers, transaction decisions and checkpoints. Nodes hold caches. A write is acknowledged only after the bucket holds what recovery needs, so losing a node, or every node, loses nothing acknowledged.
- One process type,
gauntlet serve. Nodes discover each other through leases in the bucket. - No control plane in the query path.
- The cost: commit latency follows the bucket. A database that acknowledges on local disks is faster per write.
Strictly serializable, across shards
AvailableStrict serializability is the default and the only mode. A transaction that spans shards of one database commits atomically and in isolation, and index entries are written in the same attempt as the row.
- Locking is no-wait: a conflict returns
40001at once and the client retries the whole transaction. - An unknown commit outcome returns
40003with the transaction ID, and any node can tell you what happened. - Per database. There is no transaction across two separate databases.
Scale to zero
AvailableA database idle for 30 seconds is released and makes no bucket requests. Its next query activates it. Listing databases and readiness checks do not wake it.
- Shown on a deployment of 1,000 databases.
- The first query after a release is slower. Measure it on your own bucket.
- Scheduled backups wake each database today. Backups that skip idle ones are coming.
A database per agent, user or tenant
PartialThe database is the unit of isolation. Each has an immutable ID and one token that opens only it. Many small databases share one deployment and one bucket.
- Today: create, list, token and drop from the admin CLI.
- Labels, paged fleet listing, tenant scopes and read-only tokens: Coming · P10.12, P10.53
- Qualification at 100,000 and one million databases: Coming · P10.11, P10.25
PostgreSQL wire and HTTP
Availablepsql, psycopg 3, node-postgres and pgjdbc connect over the PostgreSQL wire protocol with SCRAM-SHA-256 and TLS. An HTTP JSON API runs statements, atomic batches and sessions.
- The SQL is the SQLite family, run by Turso. It is not PostgreSQL SQL, and there are no PostgreSQL catalogs or extensions.
- No
ALTER TABLE,DROP TABLEorCREATE INDEXyet. Coming · P10.1 - libSQL-compatible endpoint and certified ORMs: Coming · P10.2
Bring your own bucket and compute
AvailableRun the binary on your own Linux hosts against a bucket you own. Tigris and Cloudflare R2 have been run by the project. Any other provider must pass gauntlet qualify first.
- The bucket is trusted: objects are not encrypted or signed by Gauntlet.
- One single-region, strongly consistent bucket per deployment.
- AWS S3 and Google Cloud Storage qualification, managed Cloud and packaged BYOC: Coming
Backups, metrics and recovery
AvailableWhole-database backups run while writes continue, are verified, and restore into a new database. Nodes export Prometheus metrics and JSON logs.
- No point-in-time restore and no rolling upgrades in pre-beta.
- Storage only grows: nothing is reclaimed yet, even after a drop.
Branches and restore to a transaction
Coming · P6.8, P10.17Copy-on-write branches and restore to an exact transaction ID are planned. They depend on storage reclamation being armed and stable first. Neither exists today, and no automatic data merge is promised.
Query Insights and a console
Coming · P10.23, P10.54Query fingerprints ranked by share of runtime, with rows read against rows returned, plus conflicts and unknown outcomes per pattern. The console preview shows the design on sample data. It is not connected to any database.