kdb+
The tick database trading desks have run for 25 years, queried in q rather than SQL.
by KX
Last updated
What it is
kdb+ is a column-store database and the interpreter for q, the array language it is queried in. It is the incumbent on trading desks — the thing a tick-capture system is built out of when the requirement is millions of messages a second into memory and years of ticks on disk.
The shape a desk builds is standard enough that KX documents it as a reference architecture: a
feed handler, a tickerplant that logs every message and publishes to subscribers, a real-time
database holding today in memory, a historical database holding prior days on disk partitioned by
date, and a gateway routing each query to whichever owns the rows. Tables are splayed column by
column, so a query for one symbol on one day reads the columns it names and nothing else. The
operation that justifies all of it is aj, the as-of join lining each trade up with the quote
prevailing at its timestamp — what every TCA and slippage calculation is built on, and what is
painful to express in SQL.
Since 17 November 2025 KX ships the engine as KDB-X, currently 5.0 (build 2026-07-23) — the same engine with a module system around it, not a replacement. Two adjacent KX products are not this one and are priced separately: kdb Insights, the enterprise platform, and KDB.AI, a vector database.
Pricing
The free tier is real and it is new. KDB-X Community Edition costs nothing, has no expiry and permits commercial use — which the old kdb+ Personal Edition did not. The ceiling is hard: 16GB of RAM for q, one instance, 4 secondary threads, 16 connections per process, 24 CPU cores in total. Staging data through GPU workflows to dodge the memory cap is explicitly forbidden, as is installing it on a server already covered by commercial support.
Above that, KX publishes a price list by memory — $1,822.92 a month at 32 GiB, $5,468.25 at 64 GiB, $11,437.50 at 127 GiB, Contact Sales from 128 GiB. The kdb+ product page carries no price at all, and a classic commercial licence is still a quote.
Data & coverage
None. kdb+ ships no market data of any kind — it is where you put data you have already bought or captured. A TAQ module exists for loading NYSE's files; the files are not included.
Integrations
PyKX gives Python a first-class interface, and KX publishes an MCP server under Apache 2.0. Modules cover Parquet, S3-compatible object storage, a REST server and a Postgres wire endpoint, so a BI tool can connect without speaking q; the SQL module translates a subset of ANSI SQL into q at runtime. KDB-X runs on Linux (x86 and ARM) and macOS — native Windows is not supported, only WSL.
Limitations
- q is the real price. Terse, right-to-left and unlike anything a team already knows, with a small and expensive labour pool. The SQL and Python layers postpone the need rather than remove it — until the first query that has to be fast.
- No public price above 127 GiB, and none at all for a classic licence. A small shop can budget the slider; anything else is a sales cycle.
- The free edition is capped where tick data gets interesting. 16GB is not a desk's intraday book, and one instance rules out a real tickerplant-plus-RDB-plus-HDB layout across machines. The licence also forbids building anything that competes with KX.
- KX's benchmarks are KX's. Its November 2025 TSBS run reports geometric-mean query ratios of 3.36x against QuestDB and 161.3x against ClickHouse — vendor hardware, and a DevOps workload rather than a tick workload.
- An individual backtester should not buy this. One person with ten years of daily bars is better served by Parquet files and DuckDB, and will be finished before the q tutorial is.
Alternatives
QuestDB and ClickHouse are the columnar engines people reach for first, both queried in SQL.
TimescaleDB keeps you in Postgres; ArcticDB stores versioned DataFrames on object storage with no
server; DuckDB over Parquet is the answer for a single researcher. What none replaces cleanly is
the tickerplant-to-HDB pattern and aj on a billion rows — which is why kdb+ is still on the desk
after twenty-five years.
Specs
- Interfaces
- API, Python, MCP server, q
- Export
- CSV, JSON, Parquet, API
- Asset classes
- —
- Markets
- —
- Platforms
- CLI, Library
- AI features
- None
- Pricing verified
- Capabilities verified
- Coverage verified
Also from KX
Also worth comparing
- ArcticDB — Versioned Pandas frames written straight onto S3, with no server to run.
- DolphinDB — Closed-source tick database with a vector language, as-of joins and streaming engines.
- InfluxDB 3 — Line-protocol time-series database rewritten on Arrow, DataFusion and Parquet.
- QuestDB — Open-source time-series SQL built for tick data — ASOF JOIN, SAMPLE BY, LATEST ON.
- Apache Druid — Real-time OLAP cluster built for high-concurrency dashboards, not for research joins.
- ClickHouse — Columnar OLAP database that keeps years of ticks on disk cheaply and scans them fast.
FAQ
Is kdb+ the same thing as KDB-X?
KDB-X is the current distribution of the kdb+ engine, generally available since 17 November 2025 and now at 5.0, released 2026-07-23. KX describes it as retaining the same core engine with existing q code and data remaining compatible. The kdb+ 4.1 line is still shipped inside KX's kdb Insights product.
Is there still a free kdb+ Personal Edition?
No. The old personal-edition download and its licence agreement now redirect to the KDB-X Community Edition and to the KX legal centre. The Community Edition replaces it, and unlike the personal edition it permits commercial use and runs offline.
What does a commercial kdb+ licence cost?
KX publishes a RAM-based price list for KDB-X that starts at $1,822.92 a month for 32 GiB and reaches $11,437.50 at 127 GiB, with 128 GiB and above quoted by sales. The kdb+ product page itself carries no figure, and a classic k4.lic licence is still a conversation with sales@kx.com.
Do I have to learn q to use it?
For anything serious, yes. There is a Python interface and a SQL module that translates a subset of ANSI SQL into q at runtime, but the tick architecture, the joins and every performance decision are written and tuned in q, and q is the part a team cannot hire for easily.