GQODB
Point-in-time market data · audited 18 September 2026

Know exactly what you knew.

GQODB stores market data the way research actually needs it: every record keeps the bytes as they arrived, the moment they arrived, and the evidence for the clock that measured it. Ask a question at a past cutoff and you get what was available then — not what the database learned afterwards.

See the measured results How it works No published build yet — the codec, its tests and its numbers are open for inspection.

Why GQODB

A backtest that can't cheat

Corrections arrive as new revisions against a fixed capture watermark, so a late append can never change an answer you already recorded. Availability bounds and clock error intervals decide what a strategy could see — not a single timestamp column.

Functionally tested · causal queries, late corrections, tombstones

Nothing is quietly repaired

Raw bytes become durable before anything derived runs, and the receipt follows the sync rather than the intent. An invalid record is kept exactly as received and explained by the quality check, so you can see what the venue actually sent you.

Functionally tested · 8,192-record import survived a real process kill

Every claim carries its receipt

Each number here names its dataset, its host and its measurement boundary — including the runs where this system loses. If a figure does not exist, the cell says so instead of being filled with an estimate.

Hash checked · 30 result files matched their build receipts · codec going open

Half the bytes, two-thirds of the write time

results/b15 — order-book storage

1,048,576 Bybit order-book level rows from 7,265 events. One warm-up, six measured rounds, medians, warm cache, one host. File-sync counted.

Bytes on disk — lower is better
GQODB native 3,703,770 B
Parquet dictionary-LZ4 5,950,242 B
Parquet delta-LZ4 9,242,314 B
Write + file-sync — lower is better
GQODB native 198.36 ms
Parquet dictionary-LZ4 313.21 ms
Parquet delta-LZ4 248.71 ms

−37.75% bytes and −36.67% write time against dictionary-LZ4 Parquet, plus a measured −3.96% on the full read. In the in-memory codec test the book profile is 38–43% smaller than that same Parquet baseline — and 14% slower to decode than it. Both directions are on the benchmarks page, with their sample sizes.

Why not just use what you already have

honest answers, including where they win
If you useWhat it does wellWhat it costs you here
Parquet files and scripts Portable, universally supported, excellent scan performance No arrival time, no clock evidence, no revision model — point-in-time correctness becomes your own convention, enforced by nothing
PostgreSQL or MongoDB Mature, transactional, operationally familiar; PostgreSQL was faster at individual durable writes in our own news test Storing every revision and arrival time is schema work you write and maintain; resident queries were 29× to 250× slower in that same test
kdb+ / q The proven answer for tick data at scale, with decades of production use Licence cost and a language your team has to learn. GQODB has never been measured against it — that comparison is written and unrun
A vendor market-data API No infrastructure to run, and someone else's problem when it breaks You get the vendor's current view of history; silent restatements are invisible to you and unauditable afterwards
GQODB Raw bytes, arrival time, clock evidence and revisions as first-class data, with exact integers and causal reads A prototype: no published build, no live feed connector, no SQL, and warm-cache benchmarks only

Where it stands today

audited source copy, 20:12:15 UTC
30workspace packages
282tests passed, 0 failed
30result files hash-checked
0published releases

Read the numbers like an engineer, not a brochure. Benchmark figures are observations from named runs; package counts are an inventory; the 1 TB input cap is a configured limit; roadmap items are future work. An empty cell says either not shown here or not measured in that study — the two are different, and the tables keep them apart.

Who this is for

A good fit

Systematic traders and quant researchers who run their own data stack and need a backtest they can defend — where "what did we know at 09:31:04.221?" has one answer that survives re-running it next year.

Not a fit yet

Anyone who needs a managed feed today. There is no hosted service, no published build and no live venue connector — offline fixtures and file imports are what exists now.

+