Производительность и оптимизация
В этом разделе приведены советы и лучшие практики по улучшению производительности с ClickHouse. Мы рекомендуем пользователям ознакомиться с Основными концепциями перед прочтением этого раздела, в котором рассматриваются основные концепции, необходимые для повышения производительности.
Тема | Описание |
---|---|
Руководство по оптимизации запросов | Начните здесь, чтобы изучить основы оптимизации запросов, включая распространенные сценарии и методы повышения производительности для ускорения выполнения запросов. |
Расширенное руководство по первичным индексам | Глубокое погружение в уникальную систему разреженных первичных индексов ClickHouse, как она отличается от традиционных баз данных и лучшие практики для оптимальных стратегий индексирования. |
Параллелизм запросов | Узнайте, как ClickHouse параллелизует выполнение запросов с помощью обработчиков и настроек max_threads , включая способы инспекции и оптимизации параллельного выполнения. |
Ключ партиционирования | Овладите выбором ключа партиционирования, чтобы значительно улучшить производительность запросов, позволяя эффективное отсечение сегментов данных и избегая распространенных ошибок партиционирования. |
Индексы пропуска данных | Уместно применяйте вторичные индексы, чтобы пропускать нерелевантные блоки данных и ускорять фильтрованные запросы по непервичным ключевым колонкам. |
PREWHERE оптимизация | Поймите, как PREWHERE автоматически снижает I/O, фильтруя данные перед чтением ненужных колонок, а также как отслеживать его эффективность. |
Пакетные вставки | Максимизируйте пропускную способность загрузки и уменьшите нагрузку на ресурсы, эффективно группируя вставки данных. |
Асинхронные вставки | Улучшите производительность вставки с помощью серверной пакетной обработки, чтобы снизить сложность на стороне клиента и увеличить пропускную способность для вставок с высокой частотой. |
Избегайте мутаций | Проектируйте workflows только на добавление, исключающие затратные операции UPDATE и DELETE , при этом сохраняя точность и производительность данных. |
Избегайте nullable колонок | Уменьшите нагрузку на хранилище и улучшите производительность запросов, используя значения по умолчанию вместо nullable колонок, когда это возможно. |
Избегайте OPTIMIZE FINAL | Поймите, когда вам следует и не следует использовать OPTIMIZE TABLE FINAL |
Анализатор | Используйте новый анализатор запросов ClickHouse для выявления узких мест производительности и оптимизации планов выполнения запросов для повышения эффективности. |
Профилирование запросов | Используйте профилировщик выборки запросов для анализа паттернов выполнения запросов, выявления критических мест производительности и оптимизации использования ресурсов. |
Кэш запросов | Ускорьте выполнение часто выполняемых SELECT запросов, активировав и настроив встроенный кэш результатов запросов ClickHouse. |
Тестирование оборудования | Запустите бенчмарки производительности ClickHouse на любом сервере без установки, чтобы оценить возможности оборудования. (Не применяется к ClickHouse Cloud) |