Навыки clickhouse-io
📦

clickhouse-io

Безопасно

Освойте аналитику и оптимизацию запросов в ClickHouse

Создавайте высокопроизводительные аналитические системы с колонно-ориентированной базой данных ClickHouse. Изучите проверенные паттерны оптимизации запросов, материализованных представлений и конвейеров данных реального времени.

Поддерживает: Claude Codex Code(CC)
📊 71 Адекватно
1

Скачать ZIP навыка

2

Загрузить в Claude

Перейдите в Settings → Capabilities → Skills → Upload skill

3

Включите и начните использовать

Протестировать

Использование «clickhouse-io». Создайте таблицу для рыночной аналитики с колонками date, market_id, volume и trades

Ожидаемый результат:

Создаёт таблицу MergeTree с месячным партиционированием, правильным упорядочиванием по date и market_id, и подходящими типами данных (Date, String, UInt64, UInt32) для оптимального сжатия и производительности запросов.

Использование «clickhouse-io». Оптимизируйте запрос с фильтрацией по volume, затем по date на большой таблице

Ожидаемый результат:

Переупорядочивает WHERE-клаузулу для фильтрации по индексированным колонкам сначала (date, market_id), предлагает использование quantile() для расчёта процентилей и рекомендует добавление подходящих проекций для распространённых паттернов фильтрации.

Использование «clickhouse-io». Настройте агрегацию реального времени для почасовых метрик

Ожидаемый результат:

Создаёт целевую таблицу AggregatingMergeTree с колонками AggregateFunction, определяет материализованное представление с функциями sumState/countState/uniqState и предоставляет паттерн запроса с использованием sumMerge/countMerge/uniqMerge.

Аудит безопасности

Безопасно
v1 • 2/25/2026

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

1
Просканировано файлов
431
Проанализировано строк
0
находки
1
Всего аудитов
Проблем безопасности не найдено
Проверено: claude

Оценка качества

38
Архитектура
90
Сопровождаемость
87
Контент
32
Сообщество
100
Безопасность
100
Соответствие спецификации

Что вы можете построить

Инженер данных, создающий аналитическую платформу

Проектирование масштабируемых схем таблиц и реализация эффективных конвейеров загрузки данных для отслеживания событий большого объёма и пользовательской аналитики.

Backend-разработчик, оптимизирующий запросы

Изучите специфичные для ClickHouse паттерны запросов для уменьшения задержки на больших наборах данных и реализуйте правильные стратегии индексирования.

Аналитик, создающий дашборды реального времени

Используйте материализованные представления и паттерны предварительной агрегации для обеспечения субсекундных запросов дашбордов на миллиардах строк.

Попробуйте эти промпты

Базовое проектирование таблиц
Создайте схему таблицы ClickHouse для хранения событий активности пользователя с колонками user_id, event_type, timestamp и properties. Используйте подходящий движок для дедупликации и партиционируйте по месяцам.
Оптимизация запросов
Просмотрите этот запрос ClickHouse, который медленно выполняется на 100M+ строках. Предложите оптимизации для WHERE-клаузулы, индексов и функций агрегации: [вставьте запрос]
Настройка материализованного представления
Создайте материализованное представление, которое предварительно агрегирует ежедневных активных пользователей и общее количество событий в час из таблицы событий. Включите схему целевой таблицы и определение MV.
Проектирование ETL-конвейера
Спроектируйте ETL-конвейер для почасовой синхронизации данных из PostgreSQL в ClickHouse. Включите извлечение, логику трансформации и паттерны пакетной вставки с обработкой ошибок.

Лучшие практики

  • Партиционируйте таблицы по времени (месяц или день), но избегайте избыточного количества партиций, которое влияет на производительность
  • Упорядочивайте первичные ключи по наиболее часто фильтруемым колонкам с наибольшей кардинальностью сначала
  • Используйте пакетные вставки вместо вставки отдельных строк для эффективной загрузки данных
  • Используйте материализованные представления для предварительно агрегированных метрик для достижения субсекундной задержки запросов

Избегать

  • Использование SELECT * вместо указания требуемых колонок - увеличивает I/O и использование памяти
  • Выполнение небольших частых вставок вместо пакетных - вызывает избыточное создание частей
  • Положение на модификатор FINAL в запросах - вызывает дорогостоящее слияние данных во время выполнения запроса
  • Создание слишком большого количества JOIN в аналитических запросах - денормализуйте данные для лучшей производительности

Часто задаваемые вопросы

Для чего лучше всего подходит ClickHouse?
ClickHouse превосходит в рабочих нагрузках OLAP (Online Analytical Processing) с большими наборами данных, требующими быстрой агрегации и анализа временных рядов. Он не предназначен для транзакционных (OLTP) рабочих нагрузок с частыми обновлениями.
Как ClickHouse достигает быстрой производительности запросов?
ClickHouse использует колонно-ориентированное хранилище для эффективного сжатия, векторизованное выполнение запросов, параллельную обработку на ядрах CPU и специализированные индексные структуры, такие как разреженные первичные ключи и индексы пропуска данных.
В чём разница между MergeTree и ReplacingMergeTree?
MergeTree - движок общего назначения для большинства сценариев использования. ReplacingMergeTree дополнительно дедуплицирует строки с одинаковым первичным ключом во время слияний, что полезно при загрузке данных из нескольких источников, которые могут создавать дубликаты.
Как часто следует вставлять данные в ClickHouse?
Пакетные вставки настоятельно рекомендуются. Вставляйте тысячи строк за раз, а не отдельные строки. Стремитесь как минимум к 1000 строк на вставку или пакетированию по временным интервалам (например, каждые несколько секунд) для оптимальной производительности.
Что такое материализованные представления и когда их следует использовать?
Материализованные представления автоматически предварительно агрегируют данные по мере их вставки. Используйте их для дашбордов реального времени, часто запрашиваемых агрегаций или когда задержка запроса должна быть субсекундной на больших наборах данных.
Как мониторить производительность запросов ClickHouse?
Запрашивайте таблицу system.query_log для анализа медленных запросов, проверяйте system.parts для статистики таблиц и активности слияний, и мониторьте system.metrics для счётчиков производительности реального времени.

Сведения для разработчиков

Структура файлов

📄 SKILL.md