Курсы BI


Разработка и поддержка в ClickHouse


Разработка и поддержка в ClickHouse

Описание

Курс ориентирован на специалистов, желающих глубже разобраться в архитектуре ClickHouse, развертывании кластеров, настройке репликации и отказоустойчивости, управлении нагрузкой, а также работе с системными объектами. Особое внимание уделяется оптимизации производительности и диагностике базы данных.

Для кого

  • Разработчики и администраторы ClickHouse
  • IT-специалисты, работающие с высоконагруженными аналитическими системами
  • Архитекторы данных, проектирующие инфраструктуру ClickHouse
  • Все, кто хочет изучить расширенные возможности ClickHouse

После курса сотрудники смогут

  • производить развертывание Clickhouse;
  • проектировать и создавать базы данных и объекты Clickhouse;
  • выбирать движки таблиц и баз данных;
  • производить загрузку данных, создавать и оптимизировать запросы.

План курса

  1. Clickhouse: особенности архитектуры и ситуации для применения.
  2. Планирование развертывания Clickhouse. Zookeeper или Clickhouse Keeper. Планирование отказоустойчивости и распределения нагрузки. Оценка требований к оборудованию. Развертывание Clickhouse.
  3. Введение в систему объектов Clickhouse. Отличия системы объектов от Postgres и других реляционных СУБД.
  4. Кластеры Clickhouse. Создание кластеров в файлах конфигурации, ситуации применения кластеров.
  5. Базы данных Clickhouse. Служебные и пользовательские базы данных. Выбор ядра базы данных: Atomic, Replicated, Memory, Lazy, Dictionary. Ядра баз данных для интеграции с Postgres и другими СУБД.
  6. Типы данных Clickhouse: обычные, модификаторы режимов хранения (Nullable и LowCardinality), композитные (Array, Tuple, Map, Nested). Влияние на производительность.
  7. Обзор движков таблиц Clickhouse. Архитектура движка MergeTree. Ключи сортировки и первичные ключи, секционирование (PARTITION BY), сэмплинг (SAMPLE BY), время жизни (TTL).
  8. Репликация данных и ядро ReplicatedMergeTree. Мониторинг репликации и исправление проблем при репликации.
  9. Проекции в таблицах MergeTree и применение альтернативных ключей сортировки.
  10. Движок ReplacingMergeTree и автоматическое удаление дубликатов.
  11. Движки SummingMergeTree и AggregatingMergeTree и автоматическое агрегирование данных.
  12. Движки CollapsingMergeTree и VersionedCollapsingMergeTree и решение проблем с удалением данных.
  13. Движок Distributed и шардинг в Clickhouse.
  14. Семейство движков Log и другие движки Clickhouse.
  15. Представления (Views) в Clickhouse. Обычные представления, параметризованные представления, материализованные представления, обновляемые материализованные представления, оконные представления. Использование материализованных представлений для перекачки и преобразования данных между таблицами.
  16. Особенности добавления/изменения/удаления данных в Clickhouse. Вставка данных и механика IJNSERT. Слияние кусков и команда OPTIMIZE. Удаление данных через облегченные DELETE (lightweight DELETE) и через мутации. UPDATE средствами мутаций и другие варианты изменения данных.
  17. Простая и инкрементальная закачка данных в Clickhouse через интеграционные таблицы.
  18. Непрерывная закачка данных в Clickhouse. Связка Postgres-Debezium-Kafka-Clickhouse. Получение данных в Clickhouse через Kafka. Оптимизация производительности и решение возникающих проблем.
  19. Запросы в Clickhouse. Инфраструктура для работы с запросами. Применение clickhouse-client для оценки производительности, команда EXPLAIN и таблицы system.query_log и system.query_metric_log. Работа со статистикой столбцов.
  20. Фильтрация данных в Clickhouse. WHERE и PREWHERE. Применение вторичных индексов - set, minmax, bloom. Особенности фильтрации с LIKE и регулярными выражениями. Применение полнотекстовых индексов для фильтрации данных.
  21. Джойны в запросах Clickhouse. Специальные типы джойнов и ASOF джойны. Алгоритмы выполнения джойнов: hash, parallel hash, grace hash, full sorting, partial merge. Метод Direct join и применение словарей (dictionaries).
  22. Группировка и агрегатные функции в Clickhouse. Комбинаторы агрегатных функций. Оконные функции. Оптимизация группировки и расчета агрегатов.
  23. Сортировка в запросах Clickhouse. Применение первичных и вторичных индексов для оптимизации сортировки. Управление оперативной памятью при сортировке больших таблиц.
  24. Подзапросы, CTE и временные таблицы в Clikchouse. Особенности работы Clickhouse при декомпозиции запросов. Рекурсивные CTE.
  25. Сжатие и кэширование данных в Clickhouse. Настройка кэширования при выполнении запросов. Применение query cache.
  26. Пользовательские функций в Clickhouse и лямбда-выражения. Применение функций на внешних языках (Python и т.п.).

 






« Предыдущий курс     Следующий курс»

Возврат к списку


Подпишитесь на новости