Sobes.tech
Middle
29

Что такое партиция в ClickHouse?

Companies where asked
Магнит

Answer from AI

sobes.tech AI

В ClickHouse партиция — это логическая часть таблицы, которая используется для организации и оптимизации хранения данных. Партиционирование позволяет разбить таблицу на отдельные сегменты по определённому ключу (например, по дате), что ускоряет запросы, которые фильтруют данные по этому ключу, и облегчает управление данными (например, удаление старых партиций).

Партиции в ClickHouse создаются на основе выражения, заданного при создании таблицы, и обычно соответствуют диапазонам значений (например, месяц, день). Это помогает эффективно читать и сжимать данные, а также выполнять операции TTL и очистки.

Пример создания таблицы с партиционированием по месяцу:

CREATE TABLE example (
    event_date Date,
    user_id UInt32,
    value Float32
) ENGINE = MergeTree()
PARTITION BY toYYYYMM(event_date)
ORDER BY (user_id);

Здесь партиция создаётся для каждого месяца, что позволяет быстро выбирать данные за нужный период.