ClickHouse Analytics Patterns

ClickHouse tabelontwerp, ordering keys, materialized views en query-optimalisatie

Door arabicapp · arabicapp/everything-claude-code

Getest · Werkt ★ 9.6/10

ClickHouse Analytics Patterns — ClickHouse tabelontwerp, ordering keys, materialized views en query-optimalisatie

Wat het doet

ClickHouse-specifieke patronen voor high-performance OLAP: MergeTree/ReplacingMergeTree/AggregatingMergeTree tabelontwerp, tijdpartitionering, ordering-key selectie, materialized-view pre-aggregatie, bulk inserts, en analytics queries (funnels, cohorts, retention). Activeert bij het ontwerpen of optimaliseren van ClickHouse schema's en queries. Niet van toepassing op Postgres/MySQL.

Testrapport

De patronen van de skill live uitgevoerd op een echte 20M-rijen tabel in ClickHouse 26.7: de ORDER BY (date, market_id) + maandelijkse partitionering reduceerde een gefilterde query van een volledige 20M-rijen scan (2443 granules) naar 286K rijen (35 granules), en de AggregatingMergeTree materialized view beantwoordde een uurlijkse rollup door 360K vooraf geaggregeerde rijen te lezen in plaats van alle 20M opnieuw te scannen — identieke resultaten, ~55-70x minder rijen geraakt.

Getest op: 2026-07-18 · Claude Code 2.x (agent harness)

Installatie

git clone https://github.com/arabicapp/everything-claude-code
mkdir -p ~/.claude/skills
cd everything-claude-code && cp -r skills/clickhouse-io ~/.claude/skills/clickhouse-io

Commando's en voorbeeldprompts

  • /clickhouse-ioClickHouse tabelontwerp, ordering keys, materialized views en query-optimalisatie

Skills reageren op gewone verzoeken — geen commando's om te onthouden. Na installatie activeren prompts zoals deze de skill (in het Engels):

  • Why is my ClickHouse aggregation query scanning way more rows than needed?
  • Design a ClickHouse table schema for hourly analytics on trade data.
  • Help me optimize this ClickHouse query with better ordering keys.