Skip to content

Research and understand component costs and maintenance requirements of running a ClickHouse instance with GitLab

Analysis plan

Identified action items to get familiar with ClickHouse usage in GitLab:

GitLab and ClickHouse related topics:

Questions to ClickHouse team

The goal is to understand maintenance and costs that customers will face if they want to configure GitLab with ClickHouse.

Please see this internal document from discussion with ClickHouse team for below questions.

Questions

Deployment

  • What is the recommended ClickHouse installation method?
    • How mature is Operator with regards to maintenance?
    • Is there official CH chart?
    • Is AlmaLinux or Amazon Linux 2 supported?
    • Does it support offline installation?
    • FIPS compliance?
  • Are there limitations with any existing cloud provider and ClickHouse?
  • Are there IOPS recommendations for disks for CH?

Maintenance

  • Is there documentation for high-availability setup on self-managed?
  • Upgrades
  • Backup and restore
    • Are other object storages than S3 supported?
  • Monitoring recommendations for self-managed?
  • Is there ability to scale self-managed ClickHouse up/down? What is the process for adding more capacity to CH server?
  • Is there recommendation for migrating servers to new VMs or cluster?
  • Is the above being tested on some schedule?

Questions to GitLab ClickHouse owner team

  • If customer wouldn't want to support this new database for GitLab, will they be limited in usage of GitLab features or there will be a fallback to PG usage?
  • What specs are currently recommended for CH with GitLab installation?
    • Is there correlation between GitLab PG database size and size for CH?
    • Can we calculate rough specs using existing recommendations for machines for PG nodes in GitLab?
  • Would ClickHouse upgrade result in downtime for GitLab?
  • Will GitLab need to maintain backup and restore for CH database?
  • How GitLab version and ClickHouse version mapping will work?
Edited by Nailia Iskhakova