ClickHouse
Columnar OLAP database that keeps years of ticks on disk cheaply and scans them fast.
Last updated
What it is
ClickHouse is a columnar OLAP database. It is not a finance product and ships no market data. It is in this catalogue because "where do I put ten years of ticks" has about four real answers and this is one of them.
The engine shape is what matters. A MergeTree table is stored sorted by its ordering key, and
that key is also the primary index — sparse, one mark per granule — so ORDER BY (symbol, ts)
turns a query bounded by a symbol and a time window into a binary search over marks and a few
granules read. Compression is per column and per codec, and the specialised codecs suit tick
data: DoubleDelta for monotonic timestamps and sequence numbers, Delta or Gorilla for
slowly drifting prices, T64 for narrow integers, with ZSTD or LZ4 over the top. ClickHouse's
own July 2026 write-up of Binance futures data reports 16.2 billion trade and quote rows in
76 GiB on disk, about 19x smaller than the source CSV.
Three more features do the rest. ASOF JOIN matches each trade to the most recent quote at or
before its timestamp — the join every slippage and TCA query needs, and one most SQL databases
make you hand-roll. AggregatingMergeTree behind a materialized view rolls raw ticks into OHLC
or VWAP bars as they arrive, so the bar table is never rebuilt. And TTL rules relocate or expire
parts on a clause: TTL ts + INTERVAL 1 YEAR TO VOLUME 'cold' pushes old partitions onto S3
while recent months stay on local disk.
The project is alive on any reading: the repo is not archived, the last commit on master
landed on 13 September 2026, and the newest release line is 26.8 LTS, opened on 30 August 2026
and patched on 1 September. Point releases across supported branches ship most weeks.
Pricing
All of the above is in the free build; what the vendor sells is operating it. ClickHouse Cloud is metered, not seated — compute per compute-unit-hour (a unit is 8 GiB RAM and 2 vCPU), metered by the minute and scaled to zero when idle, storage per TB-month of compressed data, which for tick tables is the number that matters. No monthly minimum. New accounts get $300 of credits for 30 days, ending on whichever runs out first, then convert to pay-as-you-go.
The tier figures above are the vendor's own AWS us-east-1 worked examples, not seat prices: change the replica size, the active hours or the volume and the bill moves, and the per-unit rate itself varies by region and cloud.
Data & coverage
None — that is the category. Loading is the work: the s3() and url() table functions read
Parquet and CSV in place, ClickPipes pulls from Kafka and object storage on Cloud, and otherwise
it is batched inserts from a client.
Integrations
HTTP and native TCP interfaces plus MySQL and PostgreSQL wire-protocol ports, so most SQL tools connect without a driver. Official clients for Python (ClickHouse Connect), Go, Java, JavaScript and Rust, plus JDBC and ODBC. Parquet, Arrow, ORC, CSV and JSONEachRow read and write natively, which is what makes a pandas or Polars round trip cheap. There is a first-party MCP server, and Cloud hosts a remote one beside a console assistant that writes SQL.
Limitations
- No market data, no symbology, no corporate actions. Budget for a feed and for adjustment logic separately.
- Updates and deletes are not what a transactional user means.
ALTER TABLE ... UPDATEis an asynchronous mutation that rewrites whole parts; the vendor's own best-practice page is titled "Avoid mutations". LightweightUPDATEwrites patch parts instead, but adds overhead to every laterSELECT. - Deduplication is eventual.
ReplacingMergeTreecollapses duplicates only when parts merge, "at an unknown time" per the docs, so re-inserting a corrected tick and trusting the engine returns double counts until you addFINAL, which is not free. - Late ticks insert but do not retract. A bar already materialized through an aggregating view will not recompute when a stale print lands.
- A cluster is real operational work — Keeper, shard and replica layout, part-count and merge monitoring, a backup story. Cloud exists because that is expensive.
- Linux and macOS only for builds and the install script; on Windows it is a Docker story.
Alternatives
QuestDB fits better if you want market-data semantics built in rather than assembled from general primitives; ArcticDB suits a Python-only team that wants versioned DataFrames instead of a SQL server; kdb+ is the desk incumbent and prices accordingly. And if the data fits one disk and one person queries it, Parquet read by DuckDB or pandas costs nothing to operate.
See the rest of the tick data storage category.
Specs
- Interfaces
- API, Python, MCP server, SQL
- Export
- CSV, JSON, Parquet, API
- Asset classes
- —
- Markets
- —
- Platforms
- Web, CLI, Desktop linux, Desktop mac
- AI features
- Assistive
- Pricing verified
- Capabilities verified
- Coverage verified
Also worth comparing
- TimescaleDB — Hypertables, columnar compression and continuous aggregates bolted onto plain Postgres.
- Apache Druid — Real-time OLAP cluster built for high-concurrency dashboards, not for research joins.
- 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.
- DuckDB — In-process analytical SQL over Parquet tick files, with no server to run.
- InfluxDB 3 — Line-protocol time-series database rewritten on Arrow, DataFusion and Parquet.
FAQ
Can ClickHouse actually hold tick data, or is that a stretch?
It holds it well. The vendor's own July 2026 walkthrough loaded ten months of Binance futures trades and quotes — 16.2 billion rows — into 76 GiB on disk, roughly a 19x reduction against the raw CSV, with per-second queries answered from the sparse primary index. The engine features that matter for this are all in the free Apache-2.0 build.
Does ClickHouse come with any market data?
No. It is an empty database. There is no symbology, no corporate actions and no price history in the box — you supply all of it, from a vendor feed, flat files or your own capture.
Is ClickHouse free, or is that only the community edition?
The server is Apache-2.0 and free forever, with no feature-gated community edition. What ClickHouse sells is running it for you — ClickHouse Cloud, BYOC in your own cloud account, and ClickHouse Private for very large self-contained deployments.
ClickHouse or a directory of Parquet files?
If one person queries a few hundred gigabytes from one laptop, Parquet plus DuckDB is less machinery and no server to keep alive. ClickHouse earns its operational cost when the data outgrows one disk, several people query it at once, or ticks arrive continuously and must be queryable seconds later.