kdb+

The tick database trading desks have run for 25 years, queried in q rather than SQL.

by KX

Last updated

Free tier
Yes
Self-hosted
Yes
Platforms
CLI, Library

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.

Report an error on this page

Quote the line and say what it should be.

The vendor’s page, filing or documentation that says otherwise.

Only if you want to hear back. Never published.

Read by a person. It fixes a fact and moves nothing else.

Anything else — a question this page leaves open, a tool it should be compared with? Write to feedback@stockmarketstack.com.

Is this your product? Claim this listing.