ClickHouse Self-Managed component costs and maintenance requirements
Summary
ClickHouse requires additional cost and maintenance for self-managed customers:
-
Resource allocation cost: ClickHouse requires a considerable amount of resources to run optimally.
- Minimum cost estimation shows that setting up ClickHouse can be applicable only for very large Reference Architectures: 25k and up.
- High availability: ClickHouse SaaS supports HA. No documented HA configuration for self-managed at the moment.
- Geo setups: Sync and replication complexity for GitLab Geo setups.
- Upgrades: An additional database to maintain and upgrade along with existing Postgres database. This also includes compatibility issues of mapping GitLab version to ClickHouse version and keeping them up-to-date.
- Backup and restore: Self-managed customers need to have an engineer who is familiar with backup strategies and disaster recovery process in ClickHouse or switch to ClickHouse SaaS.
- Monitoring: ClickHouse can use Prometheus, additional component to monitor and troubleshoot.
- Limitations: Azure object storage is not supported. GitLab does not have the documentation or support expertise to assist customers with deployment and operation of self-managed ClickHouse.
- ClickHouse SaaS: Customers using a self-managed GitLab instance with regulatory or compliance requirements, or latency concerns likely cannot use ClickHouse SaaS.
Minimum self-managed component costs
Based on ClickHouse spec requirements analysis and collaborating with ClickHouse team, we identified the following minimal configurations for ClickHouse self-managed:
- ClickHouse High Availability (HA)
- ClickHouse - 2 machines with >=16-cores, >=64 GB RAM, SSD, 10 GB Internet. Each machine also runs Keeper.
- Keeper - 1 machine with 2 CPU, 4 GB of RAM, SSD with high IOPS
- ClickHouse non-HA
- ClickHouse - 1 machine with >=16-cores, >=64 GB RAM, SSD, 10 GB Internet.
The following cost table was compiled using the machine CPU and memory requirements for ClickHouse, and comparing them to the GitLab Reference Architecture sizes and costs from the GCP calculator.
Reference Architecture | ClickHouse type | ClickHouse cost / (GitLab cost + ClickHouse cost) |
---|---|---|
20 RPS / 1k users - non HA | non-HA | 78.01% |
40 RPS / 2k users- non HA | non-HA | 44.50% |
60 RPS / 3k users - HA | HA | 37.87% |
100 RPS / 5k users - HA | HA | 30.92% |
200 RPS / 10k users - HA | HA | 20.47% |
500 RPS / 25k users - HA | HA | 14.30% |
1000 RPS / 50k users - HA | HA | 8.16% |
NOTE: The ClickHouse Self-Managed component evaluation is the minimum estimation for the costs with a simplified architecture.
The following components increase the cost, and were not considered in the minimum calculation:
- Disk size - depends on data size, hard to estimate.
- Disk types - ClickHouse recommends fast SSDs.
- Network usage - ClickHouse recommends using 10 GB network, if possible.
- For HA we sum minimum cost across all reference architectures from 60 RPS / 3k users to 1000 RPS / 50k users, but HA specs tend to increase with user count.