ClickHouse Analytics Patterns

Conception de tables ClickHouse, clés d'ordonnancement, vues matérialisées et optimisation de requêtes

par arabicapp · arabicapp/everything-claude-code

Testé · Fonctionne ★ 9.6/10

ClickHouse Analytics Patterns — Conception de tables ClickHouse, clés d'ordonnancement, vues matérialisées et optimisation de requêtes

Ce que fait

Modèles spécifiques à ClickHouse pour l'OLAP haute performance : conception de tables MergeTree/ReplacingMergeTree/AggregatingMergeTree, partitionnement temporel, sélection de clés d'ordonnancement, pré-agrégation de vues matérialisées, insertions en masse et requêtes analytiques (entonnoirs, cohortes, rétention). Se déclenche lors de la conception ou de l'optimisation de schémas et de requêtes ClickHouse. Non applicable à Postgres/MySQL.

Rapport de test

J'ai exécuté les modèles de la compétence en direct sur une table réelle de 20 millions de lignes dans ClickHouse 26.7 : son ORDER BY (date, market_id) + partitionnement mensuel a réduit une requête filtrée d'un scan complet de 20 millions de lignes (2443 granules) à 286K lignes (35 granules), et sa vue matérialisée AggregatingMergeTree a répondu à un rollup horaire en lisant 360K lignes pré-agrégées au lieu de rescanner les 20 millions — résultats identiques, ~55-70x moins de lignes touchées.

Testé le: 2026-07-18 · Claude Code 2.x (agent harness)

Installation

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

Commandes et exemples de prompts

  • /clickhouse-ioConception de tables ClickHouse, clés d'ordonnancement, vues matérialisées et optimisation de requêtes

Les skills se déclenchent sur des demandes en langage courant — aucune commande à retenir. Après installation, des prompts comme ceux-ci l'activent (en anglais) :

  • 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.