Codec open, engine closed
The open layer is a public repository with its evidence beside it — result files, build receipts and a script that recomputes every codec figure on this site, so you can check them instead of trusting them. The engine is not published, and its audit evidence stays private. Both are stated here rather than implied.
Open source
public since 19 September 2026A benchmark you cannot reproduce is marketing. The point of publishing the source and the evidence together is that every figure on this site becomes checkable: the frozen manifest says which bytes were tested, the log says what passed, the receipts say which result files are untouched.
| Part | What it is | Licence |
|---|---|---|
| Tick codec | The lossless trade and tick compression profile, with its format header and reader | Apache-2.0 |
| Book codec | The order-book profile: run reduction and byte planes over level rows, with no depth limit — B15 averaged 144 level rows per event | Apache-2.0 |
| Format spec and reader | Segment framing, header detection and a reader that restores exact values and checks integrity | Apache-2.0 |
| Benchmark protocols and evidence | Git-tracked runner source, written protocols, stored results, receipts, a seven-run manifest and CI verification | Apache-2.0 |
| The database around it | Raw journal, ledger and receipts, recovery, quality, features, causal query, ops and connectors | commercial |
The split is deliberate. A codec is worth giving away: it is checkable in an afternoon, it is the
part these benchmarks actually measure, and every file it writes is a .gqodb file. The
database is a different kind of work — a journal, a ledger, receipts, recovery and causal reads — and
that is the part with a price on it.
Every published benchmark asset in the open repository — runner source, protocol and stored evidence — is named in a Git-tracked manifest; CI rejects result files outside Git. Raw market captures are not redistributed, and the manifest marks the two historical runs whose paired baseline commits predate the extracted public history. The installer builds the open tools from source with Rust 1.96, runs all tests and records the installed commit and binary hashes; eight consent tests also verify that missing prerequisites are never installed after Enter, n or end-of-input. Inspect scripts before running them. The Apache-2.0 licence covers that repository only; the engine is not part of it.
Pricing
announced model · sales not openThe open layer stays free. The intended commercial model is one clear single-node price, followed by custom contracts only when a deployment needs more nodes, availability or operational commitments. There is no released engine binary and both commercial options remain unavailable for purchase.
- Four Rust crates: types, blocks, store and codec
- Tick and order-book profiles, format header and readers
- Public benchmark protocols, result files and verifier
- Commercial use allowed under Apache-2.0
- Every suite component in the purchased release
- One organisation, one active physical host or VM
- Perpetual internal use of the purchased version
- Single-node updates actually published during the first 12 months
- No support, SLA, live connector or multi-node rights
- Two or more concurrently active nodes
- Replication, failover or high-availability requirements
- Organisation-wide rollout, support or an SLA
- Connectors, migration and deployment work scoped separately
- Only explicitly qualified features enter the contract
Sales are not open. “Coming soon” is a product announcement, not a checkout or an offer to transact. Purchase links will remain disabled until the release, seller details, VAT treatment, written terms, refund rule and delivery boundary are published.
Builds
engine · distributionNothing here is a link yet. A row fills in when a build has a platform, a version and a manifest digest published beside it.
| Artifact | Platform | Version | Manifest SHA-256 | Size |
|---|---|---|---|---|
| Suite bundle, offline | not published | not published | not published | not published |
gqodb CLI | not published | not published | not published | not published |
| Source tarball | not published | not published | not published | not published |
A bundle is only meaningful with its build receipt and manifest digest beside it. A build receipt is also not a cryptographic signature: SHA-256 proves agreement with a chosen digest, not that the publisher is trustworthy.
The distribution commands
engine · installerThese exist today. The build refuses a dirty working tree, reads Cargo’s actual binary paths and writes hashed receipts; install checks the bundle manifest against an explicitly trusted digest, stages a full release, then swaps the activation link atomically.
$ gqodb-dist build SOURCE_ROOT NEW_RECEIPT.json $ gqodb-dist package RECEIPT.json NEW_BUNDLE VERSION $ gqodb-dist verify-bundle BUNDLE MANIFEST_SHA256 $ gqodb-dist install BUNDLE PREFIX MANIFEST_SHA256 $ gqodb-dist verify PREFIX $ gqodb-dist rollback PREFIX RELEASE_ID $ gqodb-dist uninstall PREFIX RELEASE_ID
Older releases stay available for an explicit rollback. Uninstall removes checked manifest-owned files; modified or extra files can make it refuse rather than delete.
Running it
engine · CLI and opsPlaceholders in capitals are yours to fill in. setup writes a configuration — it does not start a feed or initialise a runtime data directory.
$ gqodb --help $ gqodb --version $ gqodb modules # configuration, then a check of it $ gqodb setup NEW_CONFIG.json native $ gqodb check CONFIG.json # a demo capture, then read the book at one UTC nanosecond $ gqodb demo NEW_FILE.gqodb.replay $ gqodb show FILE.gqodb.replay 2026-09-08 12:00:00:123:456:790 # offline FIX 4.4 fixture import $ gqodb import-fix FIX_CONFIG.json INPUT.jsonl NEW_OUTPUT.gqodb.replay # host and runtime health, and an explicit clock check $ gqodb doctor OPS_CONFIG.json RUNTIME_DIR $ gqodb clock-check REPORT.json MAX_ERROR_NS
doctor is read-only and deterministic: a missing measurement stays unknown rather than passing as green. Module presence is not health evidence.
Requirements and limits
Native Linux x86_64 and aarch64 are the build targets. The audited tests ran on one local host only — no distribution, glibc or clean-machine release is qualified.
External synchronisation required. The host must be UTC and synchronised; GQODB admits and assesses clock evidence, it does not discipline the clock.
One writer at a time, with a free-space reserve held back so a full disk fails cleanly instead of corrupting a segment.
1 TB cumulative input per data directory (1,000,000,000,000 bytes, decimal), tracked in a local ledger a configuration may lower. The counting rules are documented; commercial policy is not.