# ClickHouse

Columnar OLAP database that keeps years of ticks on disk cheaply and scans them fast.

*https://stockmarketstack.com/tools/clickhouse · Tick Data Storage & Time-Series Databases*

## Facts

### At a glance

| Field | Value |
| --- | --- |
| Vendor | ClickHouse |
| Category | Tick Data Storage & Time-Series Databases |
| Job | tick_storage |
| Website | https://clickhouse.com |
| Pricing model | usage |
| Free tier | true |
| Open source | true |
| Licence | Apache-2.0 |
| Self-hosted | true |
| Tested hands-on | false |
| Last updated | 2026-09-13 |

### Pricing

| Tier | USD | Period |
| --- | --- | --- |
| Open source (self-managed) | 0 USD | month |
| Cloud Basic | 66.52 USD | month |
| Cloud Scale | 499.38 USD | month |
| Cloud Enterprise | on request | month |
| BYOC / ClickHouse Private | on request | month |

### Coverage

| Field | Value |
| --- | --- |
| Asset classes | none |
| Markets | none |
| Works outside the US | false |
| Data latency | none |
| Platforms | web, cli, desktop_linux, desktop_mac |
| AI features | assistive |

### Interfaces

| Field | Value |
| --- | --- |
| API | true |
| Webhooks | false |
| Scripting | SQL |
| Python | true |
| Spreadsheet add-in | false |
| MCP server | true |
| Export | csv, json, parquet, api |

### Capabilities

Yes: none

No: charting, screening, scanning, backtesting, automation, live_trading, paper_trading, portfolio_tracking, broker_import, tax_reporting, alerts, news, options_analysis

*Verified: pricing 2026-09-13; capabilities 2026-09-13; coverage 2026-09-13.*

## 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 ... UPDATE` is
  an asynchronous mutation that rewrites whole parts; the vendor's own best-practice page is
  titled "Avoid mutations". Lightweight `UPDATE` writes patch parts instead, but adds overhead
  to every later `SELECT`.
- **Deduplication is eventual.** `ReplacingMergeTree` collapses 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 add `FINAL`, 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](https://stockmarketstack.com/tools/questdb) fits better if you want market-data semantics built in rather than assembled from
general primitives; [ArcticDB](https://stockmarketstack.com/tools/arcticdb) suits a Python-only team that wants versioned DataFrames instead of
a SQL server; [kdb+](https://stockmarketstack.com/tools/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](https://stockmarketstack.com/categories/tick-data-storage).

## 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.

## Also worth comparing

- [TimescaleDB](https://stockmarketstack.com/tools/timescaledb.md) — Hypertables, columnar compression and continuous aggregates bolted onto plain Postgres.
- [Apache Druid](https://stockmarketstack.com/tools/druid.md) — Real-time OLAP cluster built for high-concurrency dashboards, not for research joins.
- [ArcticDB](https://stockmarketstack.com/tools/arcticdb.md) — Versioned Pandas frames written straight onto S3, with no server to run.
- [DolphinDB](https://stockmarketstack.com/tools/dolphindb.md) — Closed-source tick database with a vector language, as-of joins and streaming engines.
- [DuckDB](https://stockmarketstack.com/tools/duckdb.md) — In-process analytical SQL over Parquet tick files, with no server to run.
- [InfluxDB 3](https://stockmarketstack.com/tools/influxdb.md) — Line-protocol time-series database rewritten on Arrow, DataFusion and Parquet.
