clickhouse-io
Meistern Sie ClickHouse-Analytics und Abfrageoptimierung
Erstellen Sie leistungsstarke Analysesysteme mit der spaltenorientierten Datenbank ClickHouse. Lernen Sie bewährte Muster für Abfrageoptimierung, materialisierte Sichten und Echtzeit-Datenpipelines.
Télécharger le ZIP du skill
Importer dans Claude
Allez dans Paramètres → Capacités → Skills → Importer un skill
Activez et commencez à utiliser
Tester
Utilisation de "clickhouse-io". Erstellen Sie eine Tabelle für Markt-Analytics mit date, market_id, volume und trades
Résultat attendu:
Erstellt eine MergeTree-Tabelle mit monatlicher Partitionierung, geeigneter Sortierung nach date und market_id sowie geeigneten Datentypen (Date, String, UInt64, UInt32) für optimale Komprimierung und Abfrageleistung.
Utilisation de "clickhouse-io". Optimieren Sie eine Abfrage, die nach volume dann date auf einer großen Tabelle filtert
Résultat attendu:
Sortiert die WHERE-Klausel um, um zuerst nach indizierten Spalten zu filtern (date, market_id), schlägt die Verwendung von quantile() für Perzentilberechnungen vor und empfiehlt das Hinzufügen geeigneter Projektionen für häufige Filtermuster.
Utilisation de "clickhouse-io". Richten Sie Echtzeit-Aggregation für stündliche Metriken ein
Résultat attendu:
Erstellt eine AggregatingMergeTree-Zieltabelle mit AggregateFunction-Spalten, definiert eine materialisierte Sicht mit sumState/countState/uniqState-Funktionen und stellt das Abfragemuster mit sumMerge/countMerge/uniqMerge bereit.
Audit de sécurité
SûrThis skill contains documentation and code examples for ClickHouse database usage. Static analyzer flagged 86 patterns that are all false positives: backticks in markdown denote SQL code blocks (not shell execution), environment variable references are configuration examples, and system table queries are legitimate ClickHouse monitoring features. No executable code or security risks present.
Score de qualité
Ce que vous pouvez construire
Data Engineer, der eine Analytics-Plattform erstellt
Entwerfen Sie skalierbare Tabellenschemas und implementieren Sie effiziente Datenaufnahmepipelines für hochvolumiges Event-Tracking und User-Analytics.
Backend-Entwickler, der Abfragen optimiert
Lernen Sie ClickHouse-spezifische Abfragemuster, um die Latenz bei großen Datensätzen zu reduzieren und geeignete Indizierungsstrategien zu implementieren.
Analyst, der Echtzeit-Dashboards erstellt
Verwenden Sie materialisierte Sichten und Voraggregationsmuster, um Abfragen für Dashboards mit unter einer Sekunde Laufzeit auf Milliarden von Zeilen zu unterstützen.
Essayez ces prompts
Erstellen Sie ein ClickHouse-Tabellenschema zum Speichern von Benutzeraktivitätsereignissen mit Spalten für user_id, event_type, timestamp und properties. Verwenden Sie die geeignete Engine für Deduplizierung und partitionieren Sie nach Monat.
Überprüfen Sie diese ClickHouse-Abfrage, die auf 100 Mio+ Zeilen langsam läuft. Schlagen Sie Optimierungen für die WHERE-Klausel, Indizes und Aggregationsfunktionen vor: [Abfrage einfügen]
Erstellen Sie eine materialisierte Sicht, die täglich aktive Benutzer und Gesamtereignisse pro Stunde aus einer Ereignistabelle voraggregiert. Fügen Sie das Zieltabellenschema und die MV-Definition ein.
Entwerfen Sie eine ETL-Pipeline, um Daten stündlich von PostgreSQL nach ClickHouse zu synchronisieren. Fügen Sie Extraktions-, Transformationslogik und Batch-Einfügemuster mit Fehlerbehandlung ein.
Bonnes pratiques
- Partitionieren Sie Tabellen nach Zeit (Monat oder Tag), vermeiden Sie jedoch übermäßige Partitionen, die die Leistung beeinträchtigen
- Sortieren Sie Primärschlüssel nach am häufigsten gefilterten Spalten mit der höchsten Kardinalität zuerst
- Verwenden Sie Batch-Einfügungen anstelle von einzelnen Zeileneinfügungen für effiziente Datenaufnahme
- Nutzen Sie materialisierte Sichten für voraggregierte Metriken, um Abfragelatenzen unter einer Sekunde zu erreichen
Éviter
- Verwendung von SELECT * anstatt der Angabe erforderlicher Spalten - erhöht E/A- und Speicherverbrauch
- Durchführung kleiner, häufiger Einfügungen anstatt Batch-Verarbeitung - verursacht übermäßige Part-Erstellung
- Verlassen sich auf den FINAL-Modifikator in Abfragen - erzwingt teures Zusammenführen von Daten zur Abfragezeit
- Erstellung zu vieler JOINs in analytischen Abfragen - denormalisieren Sie Daten für bessere Leistung