Производительность и оптимизации
Этот раздел содержит советы и лучшие практики для улучшения производительности с ClickHouse. Мы рекомендуем пользователям ознакомиться с Основными концепциями перед тем, как читать этот раздел, который охватывает основные концепции, необходимые для повышения производительности.
Тема | Описание |
---|---|
Руководство по оптимизации запросов | Хорошее место для начала оптимизации запросов, это простое руководство описывает общие сценарии, как использовать различные техники производительности и оптимизации для улучшения производительности запросов. |
Расширенное руководство по первичным индексам | Углубленное изучение индексации в ClickHouse, включая то, как она отличается от других систем БД, как ClickHouse строит и использует разреженный первичный индекс таблицы и каковы некоторые из лучших практик для индексации в ClickHouse. |
Параллелизм запросов | Объясняет, как ClickHouse параллелизует выполнение запросов с использованием обработчиков и параметра max_threads. Рассматривает, как данные распределяются по обработчикам, как применяется max_threads, когда он не используется полностью, и как исследовать выполнение с помощью инструментов, таких как EXPLAIN и журналы трассировки. |
Ключ партиционирования | Углубленное изучение оптимизации ключа партиционирования в ClickHouse. Объясняет, как выбор правильного ключа партиционирования может значительно улучшить производительность запросов, позволяя ClickHouse быстро находить соответствующие сегменты данных. Рассматривает лучшие практики выбора эффективных ключей партиционирования и потенциальные pitfalls, которых следует избегать. |
Индексы пропуска данных | Объясняет индексы пропуска данных как способ оптимизации производительности. |
Оптимизация PREWHERE | Объясняет, как PREWHERE уменьшает ввод-вывод, избегая чтения ненужных данных из колонок. Показывает, как это применяется автоматически, как выбирается порядок фильтрации и как это можно отслеживать с помощью EXPLAIN и журналов. |
Пакетные вставки | Объясняет преимущества использования пакетных вставок в ClickHouse. |
Асинхронные вставки | Сосредотачивается на функции асинхронных вставок в ClickHouse. Вероятно, объясняет, как работают асинхронные вставки (пакетирование данных на сервере для эффективной вставки) и их преимущества (повышение производительности путем разгрузки процесса вставки). Также может охватывать включение асинхронных вставок и рекомендации по эффективному их использованию в вашей среде ClickHouse. |
Избегайте мутаций | Обсуждает важность избегания мутаций (обновлений и удалений) в ClickHouse. Рекомендует использовать только вставки для оптимальной производительности и предлагает альтернативные подходы для обработки изменений данных. |
Избегайте Nullable колонок | Обсуждает, почему следует избегать колонок Nullable, чтобы сэкономить место и повысить производительность. Демонстрирует, как установить значение по умолчанию для колонки. |
Избегайте OPTIMIZE FINAL | Объясняет, как запрос OPTIMIZE TABLE ... FINAL требует значительных ресурсов и предлагает альтернативные подходы для оптимизации производительности ClickHouse. |
Анализатор | Рассматривает ClickHouse Анализатор, инструмент для анализа и оптимизации запросов. Обсуждает, как работает Анализатор, его преимущества (например, выявление узких мест в производительности) и как его использовать для повышения эффективности запросов в ClickHouse. |
Профилирование запросов | Объясняет Sampling Query Profiler ClickHouse, инструмент, который помогает анализировать выполнение запросов. |
Кэш запросов | Подробности о Кэше запросов ClickHouse, функции, нацеленной на улучшение производительности путем кэширования результатов часто выполняемых запросов SELECT . |
Тестирование аппаратного обеспечения | Как запустить базовый тест производительности ClickHouse на любом сервере без установки пакетов ClickHouse. (Не применимо к ClickHouse Cloud) |