Skip to content
Back to skills

Clickhouse Prod Checklist

ASecurity

Production readiness checklist for ClickHouse — server tuning, backup, monitoring, and deployment verification. Use when launching a ClickHouse deployment, doing a go-live review, or auditing production readiness before flipping traffic. Trigger with "clickhouse production", "clickhouse go-live", "clickhouse launch checklist", "production clickhouse", "clickhouse prod ready".

  • 2,719 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 21, 2026
ai-agentstypescriptgobashsqltestingdatabasesecurity

Works with

  • claude code
  • cli

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned September 21, 2026

npx -y skills add jeremylongshore/claude-code-plugins-plus --skill clickhouse-prod-checklist --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Clickhouse Prod Checklist?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Clickhouse Prod Checklist
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jeremylongshore-clickhouse-prod-checklist-ca1ca6eb/badge)](https://www.skillsdirectory.com/skills/jeremylongshore-clickhouse-prod-checklist-ca1ca6eb)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: clickhouse-prod-checklist
description: |
  Production readiness checklist for ClickHouse — server tuning, backup,
  monitoring, and deployment verification.
  Use when launching a ClickHouse deployment, doing a go-live review,
  or auditing production readiness before flipping traffic.
  Trigger with "clickhouse production", "clickhouse go-live",
  "clickhouse launch checklist", "production clickhouse",
  "clickhouse prod ready".
allowed-tools: Read, Bash(clickhouse-client:*), Bash(curl:*)
version: 1.7.0
license: MIT
author: Jeremy Longshore <jeremy@intentsolutions.io>
tags:
- saas
- database
- analytics
- clickhouse
- olap
compatibility: Designed for Claude Code
---
# ClickHouse Production Checklist

## Overview

Comprehensive go-live checklist for ClickHouse covering schema and engine design,
server tuning, backup configuration, monitoring, security, application
integration, and operational readiness. Walk the eight sections top to bottom;
each is a gate that must be green before production traffic is allowed. Deep
configuration — server XML, backup SQL, and verification queries — lives in
`references/` so this file stays a fast operational scan.

## Prerequisites

Before starting the checklist, confirm the following are in place:

- A ClickHouse instance is provisioned (ClickHouse Cloud or self-hosted) and
  reachable from the environment you will run traffic from.
- Application integration code has been exercised end-to-end in a staging
  environment against a ClickHouse of the same major version.
- You have admin credentials able to read `system.*` tables and, for
  self-hosted, edit `config.xml` / `users.xml`.

## Instructions

Work each section in order. Every box must be checked (or explicitly waived with
a reason) before go-live.

### 1. Schema & Engine Design

- [ ] Tables use `MergeTree` family engines (not `Memory`, `Log`, or `TinyLog`)
- [ ] `ORDER BY` columns match primary filter/group patterns
- [ ] `PARTITION BY` is coarse (monthly or weekly, never by ID)
- [ ] `TTL` configured for data retention policy
- [ ] `LowCardinality(String)` used for low-cardinality columns
- [ ] `CODEC(ZSTD)` applied to large String/JSON columns
- [ ] ReplacingMergeTree used with `FINAL` or dedup logic if upserts needed

### 2. Server Configuration (Self-Hosted)

Set memory to ~80% of RAM, cap per-query memory and execution time, and size the
merge pools to the core count. ClickHouse Cloud manages these for you.

```xml
<max_server_memory_usage_to_ram_ratio>0.8</max_server_memory_usage_to_ram_ratio>
<max_concurrent_queries>150</max_concurrent_queries>
<max_execution_time>300</max_execution_time>  <!-- 5 min: cap runaway scans -->
```

Full annotated `config.xml` / `users.xml` block and tuning rationale:
[server configuration reference](references/server-config.md).

### 3. Backup Configuration

- [ ] Backup schedule configured (daily minimum)
- [ ] Backup restore tested and documented
- [ ] Point-in-time recovery possible (incremental backups)
- [ ] Backup stored in different region/account from primary

Native `BACKUP ... TO S3` syntax, incremental base+delta backups, and recovery
drill guidance: [backup & recovery reference](references/backup-and-recovery.md).

### 4. Monitoring & Alerting

- [ ] Prometheus endpoint configured (`/metrics` via Exporter or Cloud endpoint)
- [ ] Grafana dashboard with key panels (QPS, latency, memory, parts, merges)
- [ ] Alerts on: error rate > 5%, p95 latency > 5s, parts > 300, disk < 20%
- [ ] Query log monitoring for slow/failed queries

Health-check queries and the full metrics list:
[monitoring & verification reference](references/monitoring-and-verification.md).

### 5. Security

- [ ] Default user password changed or user disabled
- [ ] Application user has minimal privileges (see `clickhouse-security-basics`)
- [ ] TLS enabled (HTTPS on port 8443)
- [ ] IP allowlist configured
- [ ] Secrets in environment variables or secret manager (not code)

### 6. Application Integration

- [ ] Connection pooling configured (`max_open_connections`)
- [ ] Graceful shutdown calls `client.close()`
- [ ] Insert batching in place (10K+ rows per INSERT)
- [ ] Retry logic for transient errors (see `clickhouse-rate-limits`)
- [ ] Health check endpoint includes ClickHouse ping (see reference for the
      TypeScript `/health` handler)

### 7. Operational Readiness

- [ ] Incident runbook documented (see `clickhouse-incident-runbook`)
- [ ] On-call escalation path defined
- [ ] Key rotation procedure documented
- [ ] Schema migration process in place (see `clickhouse-migration-deep-dive`)
- [ ] Load testing completed at expected peak traffic

### 8. Verification Queries

Immediately before flipping traffic, run the three go-live verification queries
(part health, pending mutations, replication lag) from the
[monitoring & verification reference](references/monitoring-and-verification.md)
under "Go-live verification queries". A clean launch returns zero rows from the
mutations and replicas queries.

## Output

Completing this checklist produces a go / no-go readiness decision:

- **Section-by-section status** — each of the eight gates marked pass, or failed
  with the specific unchecked item.
- **Verification query results** — part-health, mutation, and replication-lag
  output captured as launch evidence.
- **Go-live decision** — GO only when all eight sections are green and the
  verification queries return the expected clean-launch results; otherwise a
  NO-GO with the blocking items listed.

## Error Handling

| Issue | Detection | Action |
|-------|-----------|--------|
| Parts > 300 | Monitoring alert | Review insert patterns, wait for merges |
| Disk > 80% | Disk alert | Add storage, drop old partitions |
| Query p95 > 5s | Latency alert | Check `system.query_log` for slow queries |
| Replication lag | Replica check | Investigate network, merge backlog |

## Examples

**Minimal health probe** (load-balancer readiness check):

```sql
SELECT 1;
```

**Go-live part-health check** (fails the launch if any table exceeds its
active-parts threshold):

```sql
SELECT database, table, count() AS parts, sum(rows) AS rows,
       formatReadableSize(sum(bytes_on_disk)) AS size
FROM system.parts WHERE active
GROUP BY database, table ORDER BY sum(bytes_on_disk) DESC;
```

For the full thorough health-check query, the incremental S3 backup example, and
the annotated server-config block, see the `references/` files linked from each
section above.

## Resources

- [ClickHouse Operations Guide](https://clickhouse.com/docs/operations)
- [Backup & Restore](https://clickhouse.com/docs/operations/backup)
- [Monitoring with Prometheus](https://clickhouse.com/docs/integrations/prometheus)
- [server configuration reference](references/server-config.md)
- [backup & recovery reference](references/backup-and-recovery.md)
- [monitoring & verification reference](references/monitoring-and-verification.md)

## Next Steps

After a clean go-live, keep the deployment healthy: schedule a periodic backup
restore drill, wire the monitoring alerts into your on-call rotation, and review
`clickhouse-incident-runbook` for response procedures. For SDK version upgrades,
see `clickhouse-upgrade-migration`.

Files in this skill

  • SKILL.md7.1 KB
  • references/backup-and-recovery.md1.3 KB
  • references/monitoring-and-verification.md2 KB
  • references/server-config.md1.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.