Вступить в клуб →
лёгкаявопросХранилища и распределённая обработка

Что даёт партиционирование таблицы событий по месяцу в ClickHouse

Таблица событий в ClickHouse создана с движком MergeTree и партиционированием по месяцу события. В таблице хранится 1.5 млрд строк, ретенция — 24 месяца.

Что в первую очередь даёт такое партиционирование?

  • Любой запрос к таблице становится быстрее независимо от того, есть ли в нём условие по дате: движок читает партиции параллельно и объединяет результат.
  • Запросы с фильтром по дате читают только нужные партиции, а данные старше ретенции удаляются целой партицией, без тяжёлого построчного DELETE.
  • Партиционирование заменяет ключ сортировки: колонки из ключа партиционирования можно не включать в ORDER BY, внутри партиции данные и так упорядочены по дате.
  • Чем мельче партиции, тем лучше: партиционирование по часу дало бы на этих объёмах максимальное отсечение и ускорило бы точечные запросы.

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела