Thunderduck vs ClickHouse
ClickHouse is a columnar database you load data into. Thunderduck is a serverless engine that queries data where it already lives. Which you want depends on whether the ingest is the point or the obstacle.
| Thunderduck | ClickHouse | |
|---|---|---|
| Where the data lives | Wherever it already is. S3, GCS, Azure, PostgreSQL, MySQL, Iceberg, BigQuery — queried in place, no copy. | Inside ClickHouse. Data is ingested into MergeTree tables; external table engines exist but the design centre is resident data. |
| Getting started | Add a catalog, run a query. Nothing to model, nothing to load. | Design the schema, pick a sort key, build the ingest pipeline, then query. That work is what makes it fast. |
| Compute model | Serverless: a container per query, sized from the query's own plan, gone when it finishes. | A cluster — self-managed or ClickHouse Cloud — sized for peak and running between queries. |
| Cost when idle | Zero. No instance exists between queries. | You pay for the cluster, or for a service that keeps one warm for you. |
| Best at | Ad-hoc and federated questions across scattered sources; spiky or occasional load. | Very large scans and aggregations over resident data, at high concurrency, with predictable latency. |
| AI agents | A native MCP server: Claude and ChatGPT connect directly, with schema discovery, column meanings and a per-query cost ceiling. | SQL over HTTP or a driver. Agent access is something you build and secure yourself. |
| Cost control | Every query is planned and priced before it runs; budgets can refuse it. Built for letting an agent explore without a surprise bill. | Quotas and settings per user or profile, enforced as the query runs. |
| Where it runs | Our cloud, your cloud (credentials never leave your account), or fully on-prem. | Self-hosted anywhere, or ClickHouse Cloud on the provider they support. |
The real difference is the ingest
ClickHouse is exceptionally fast because it owns the storage. You choose a sort key, the data lands in MergeTree, and the engine can assume everything about how it is laid out. That assumption is the performance.
The price is a pipeline. Something has to move the data in, keep it moving, and re-model it when the questions change — and until that exists, the question cannot be asked. Thunderduck inverts the trade: it reads Parquet on S3, a Postgres table and an Iceberg table in one query, and accepts slower scans on cold object storage in exchange for there being nothing to build first.
Serverless means the bill follows the questions
A ClickHouse cluster is sized for your busiest hour and runs through the quiet ones. That is the right shape for a dashboard serving constant traffic, and the wrong shape for an analyst who asks six questions on a Tuesday.
Thunderduck starts a container per query, sizes it from the query's own plan, and shuts it down afterwards. Nothing runs between queries, so an idle week costs nothing.
Agents need a cost ceiling, not just an endpoint
Give an AI agent SQL access and it will eventually write a cross-join over your largest table. Thunderduck plans and prices every query before it runs and can refuse it against a budget, and exposes discovery, column meanings and execution through a native MCP server — so Claude or ChatGPT connects without you building a gateway.
Choose ClickHouse when
- You are serving a user-facing dashboard at high, steady query rates.
- The data is yours to ingest and you want the fastest possible scans over it.
- Sub-second latency on billions of resident rows is the requirement.
- You already run the cluster, and the pipeline into it is not the bottleneck.
Choose Thunderduck when
- The data is scattered across object storage, Postgres and a lake, and copying it is the problem.
- Query load is spiky or occasional, and an always-on cluster is hard to justify.
- AI agents will be querying, and you want planning, pricing and budgets around them.
- Credentials cannot leave your account — so the engine has to run in your cloud.
Query what you already have.
No ingest, no cluster, no bill while you are not asking questions.