clickhouse-io
Освойте аналитику и оптимизацию запросов в ClickHouse
Создавайте высокопроизводительные аналитические системы с колонно-ориентированной базой данных ClickHouse. Изучите проверенные паттерны оптимизации запросов, материализованных представлений и конвейеров данных реального времени.
Скачать ZIP навыка
Загрузить в Claude
Перейдите в Settings → Capabilities → Skills → Upload skill
Включите и начните использовать
Протестировать
Использование «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.
Аудит безопасности
Безопасно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.
Оценка качества
Что вы можете построить
Инженер данных, создающий аналитическую платформу
Проектирование масштабируемых схем таблиц и реализация эффективных конвейеров загрузки данных для отслеживания событий большого объёма и пользовательской аналитики.
Backend-разработчик, оптимизирующий запросы
Изучите специфичные для ClickHouse паттерны запросов для уменьшения задержки на больших наборах данных и реализуйте правильные стратегии индексирования.
Аналитик, создающий дашборды реального времени
Используйте материализованные представления и паттерны предварительной агрегации для обеспечения субсекундных запросов дашбордов на миллиардах строк.
Попробуйте эти промпты
Создайте схему таблицы ClickHouse для хранения событий активности пользователя с колонками user_id, event_type, timestamp и properties. Используйте подходящий движок для дедупликации и партиционируйте по месяцам.
Просмотрите этот запрос ClickHouse, который медленно выполняется на 100M+ строках. Предложите оптимизации для WHERE-клаузулы, индексов и функций агрегации: [вставьте запрос]
Создайте материализованное представление, которое предварительно агрегирует ежедневных активных пользователей и общее количество событий в час из таблицы событий. Включите схему целевой таблицы и определение MV.
Спроектируйте ETL-конвейер для почасовой синхронизации данных из PostgreSQL в ClickHouse. Включите извлечение, логику трансформации и паттерны пакетной вставки с обработкой ошибок.
Лучшие практики
- Партиционируйте таблицы по времени (месяц или день), но избегайте избыточного количества партиций, которое влияет на производительность
- Упорядочивайте первичные ключи по наиболее часто фильтруемым колонкам с наибольшей кардинальностью сначала
- Используйте пакетные вставки вместо вставки отдельных строк для эффективной загрузки данных
- Используйте материализованные представления для предварительно агрегированных метрик для достижения субсекундной задержки запросов
Избегать
- Использование SELECT * вместо указания требуемых колонок - увеличивает I/O и использование памяти
- Выполнение небольших частых вставок вместо пакетных - вызывает избыточное создание частей
- Положение на модификатор FINAL в запросах - вызывает дорогостоящее слияние данных во время выполнения запроса
- Создание слишком большого количества JOIN в аналитических запросах - денормализуйте данные для лучшей производительности
Часто задаваемые вопросы
Для чего лучше всего подходит ClickHouse?
Как ClickHouse достигает быстрой производительности запросов?
В чём разница между MergeTree и ReplacingMergeTree?
Как часто следует вставлять данные в ClickHouse?
Что такое материализованные представления и когда их следует использовать?
Как мониторить производительность запросов ClickHouse?
Сведения для разработчиков
Автор
affaan-mЛицензия
MIT
Репозиторий
https://github.com/sickn33/antigravity-awesome-skills/tree/main/web-app/public/skills/cc-skill-clickhouse-ioСсылка
main
Структура файлов
📄 SKILL.md