Каталог курсов
Курсы High Tech
NEW Clickhouse
Описание курса
Clickhouse — это очень своеобразная СУБД, в которой вроде бы есть запросы SQL, но они существенно отличаются от привычных запросов в Postgres/Oracle/SQL Server.
Многие возможности запросов "методом тыка" обнаружить сложно. А, учитывая, что 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).