Layer 3 · self-hosting reality check
What it actually takes to self-host ClickHouse
The docs say 4 GB. In practice you want 16 GB. Here is the honest version — real requirements, real monthly cost, what you will be maintaining, and the one thing that catches people out.
Usually reached from Snowflake alternatives, where ClickHouse is one of the picks.
| RAM — documented minimum | 4 GB |
|---|---|
| RAM — what it really needs | 16 GB |
| CPU | 8 vCPU — it is genuinely CPU-hungry on scan-heavy queries |
| Disk | Raw data ÷ 5 to ÷ 15 after compression. Compression here is exceptional and it changes the sizing maths. |
| Monthly cost | $80–150/mo for a single node handling tens of billions of rows, against thousands on Snowflake for comparable workloads |
| Setup time | Half a day for a single node; a real cluster is a project |
| How you install it | official packages or container; single-node is legitimate far longer than people expect |
| Ongoing maintenance | Moderate. Schema and ORDER BY decisions are close to permanent, merges need disk headroom, and upgrades want testing. |
| Where it stops scaling | A single well-specified node handles volumes that surprise people — tens of billions of rows. Clustering is for availability and concurrency more often than raw size. |
The thing that catches people out
The ORDER BY clause on a MergeTree table is the primary index, and it is effectively irreversible on a large table — changing it means rewriting the data. Get it wrong and queries that should take milliseconds take minutes. Decide your ORDER BY from your actual query patterns before loading anything, not after.
When not to self-host ClickHouse
Your workload is transactional. ClickHouse is an analytical database — updates and deletes are expensive and awkward by design. It is not a Postgres replacement.
Every guide here carries this section. A site that only ever tells you to self-host is selling something — the useful answer is sometimes no.
Other Layer 3 self-hosting guides
Common questions
- How much RAM does ClickHouse actually need?
- 16 GB in practice. The documented minimum is 4 GB, which is the figure at which the process starts rather than the figure at which it works under real use. 8 vCPU — it is genuinely CPU-hungry on scan-heavy queries alongside it.
- What does self-hosting ClickHouse cost per month?
- $80–150/mo for a single node handling tens of billions of rows, against thousands on Snowflake for comparable workloads This is commodity VPS pricing and excludes your time, which is the larger cost for most people — budget for moderate. Schema and ORDER BY decisions are close to permanent, merges need disk headroom, and upgrades want testing.
- How long does it take to set up ClickHouse?
- Half a day for a single node; a real cluster is a project, via official packages or container; single-node is legitimate far longer than people expect.
- When should I NOT self-host ClickHouse?
- Your workload is transactional. ClickHouse is an analytical database — updates and deletes are expensive and awkward by design. It is not a Postgres replacement.
- What is the most common mistake when self-hosting ClickHouse?
- The ORDER BY clause on a MergeTree table is the primary index, and it is effectively irreversible on a large table — changing it means rewriting the data. Get it wrong and queries that should take milliseconds take minutes. Decide your ORDER BY from your actual query patterns before loading anything, not after.