Атомарность гарантирует, что транзакция (серия операций с базой данных) рассматривается как единое неделимое целое. Это означает, что либо выполняются все операции в рамках транзакции, либо не выполняется ни одна. Пример атомарной транзакции — перевод денег с одного банковского счёта на другой. Если на любом этапе перевода происходит сбой, транзакция не выполняется, и деньги остаются на первом счёте. Атомарность гарантирует, что деньги не будут потеряны и не возникнут из ниоткуда.
Блок — это логическая единица организации обработки и хранения данных. Каждый блок содержит данные в столбцовом формате, которые обрабатываются совместно для повышения производительности при выполнении запроса. Обрабатывая данные блоками, ClickHouse эффективно использует ядра CPU, сводя к минимуму промахи кэша и обеспечивая векторизованное выполнение. ClickHouse использует различные алгоритмы сжатия, такие как LZ4, ZSTD и Delta, для сжатия данных в блоках.
Группа узлов (серверов), совместно выполняющих хранение и обработку данных.
Ключи шифрования, управляемые клиентом (CMEK), позволяют клиентам использовать ключ своего сервиса управления ключами (KMS) для шифрования ключа данных на диске ClickHouse и защиты данных при хранении.
Словарь — это структура данных типа «ключ-значение», удобная для работы с различными справочниками. Это мощная возможность, которая позволяет эффективно использовать словари в запросах, что во многих случаях эффективнее, чем JOIN со справочными таблицами.
Distributed таблица в ClickHouse — это особый тип таблицы, который сам не хранит данные, а предоставляет единое представление для распределённой обработки запросов на нескольких серверах кластера.
Гранула — это батч строк в несжатом блоке. При чтении данных ClickHouse обращается к гранулам, а не к отдельным строкам, что ускоряет обработку данных в аналитических рабочих нагрузках. По умолчанию гранула содержит 8192 строки. Основной индекс содержит по одной записи на гранулу.
Incremental materialized view
В ClickHouse incremental materialized view — это тип materialized view, который обрабатывает и агрегирует данные в момент вставки. Когда новые данные вставляются в исходную таблицу, materialized view выполняет заранее определённый SQL-запрос агрегации только для вновь вставленных блоков и записывает агрегированные результаты в целевую таблицу.
Легковесное обновление в ClickHouse — это экспериментальная возможность, которая позволяет обновлять строки в таблице с помощью стандартного синтаксиса SQL UPDATE, но вместо перезаписи целых столбцов или частей данных (как при традиционных мутациях) создаёт «патч-части», содержащие только обновлённые столбцы и строки. Эти обновления сразу становятся видны в запросах SELECT за счёт применения патчей, однако физически данные обновляются только в ходе последующих слияний.
Файл меток в ClickHouse — это файл, в котором хранятся «метки», то есть записи индекса, помогающие ClickHouse быстро определять, где в файлах данных находятся конкретные диапазоны данных.
Materialized view в ClickHouse — это механизм, который автоматически выполняет запрос к данным при их вставке в исходную таблицу и сохраняет преобразованные или агрегированные результаты в отдельной целевой таблице, чтобы ускорить выполнение запросов.
MergeTree в ClickHouse — это движок таблицы, предназначенный для высоких скоростей приёма и больших объёмов данных. Это основной движок хранения в ClickHouse, который предоставляет такие возможности, как столбцовое хранение, настраиваемое разбиение на партиции, разреженные первичные индексы и поддержка фоновых слияний данных.
Мутация в ClickHouse — это операция, которая изменяет или удаляет существующие данные в таблице, обычно с помощью команд ALTER TABLE … UPDATE или ALTER TABLE … DELETE. Мутации выполняются асинхронно в фоновом режиме и переписывают целиком все затронутые изменением части данных, а не изменяют отдельные строки на месте.
Мутации на лету в ClickHouse — это механизм, благодаря которому изменения или удаления становятся видимыми в последующих SELECT-запросах сразу после отправки мутации, без ожидания завершения фонового процесса мутации.
Физический файл на диске, в котором хранится часть данных таблицы. Это отличается от партиции — логического разделения данных таблицы, создаваемого с помощью ключа партиционирования.
Ключ партиционирования в ClickHouse — это SQL-выражение, заданное в предложении PARTITION BY при создании таблицы. Он определяет, как данные логически группируются в партиции на диске. Каждое уникальное значение ключа партиционирования образует отдельную физическую партицию, что позволяет эффективно выполнять такие операции управления данными, как удаление, перемещение или архивирование целых партиций.
В ClickHouse первичный ключ определяет порядок хранения данных на диске и используется для построения разреженного индекса, который ускоряет фильтрацию запросов. В отличие от традиционных баз данных, первичный ключ в ClickHouse не обеспечивает уникальность — несколько строк могут иметь одно и то же значение первичного ключа.
Проекция в ClickHouse — это скрытая таблица, автоматически поддерживаемая системой, которая хранит данные в другом порядке или с заранее вычисленными агрегатами, чтобы ускорить выполнение запросов, особенно с фильтрацией по столбцам, не входящим в основной первичный ключ.
Refreshable materialized view
Refreshable materialized view — это тип materialized view, который периодически заново выполняет свой запрос для всего набора данных и сохраняет результат в целевую таблицу. В отличие от incremental materialized views, refreshable materialized views обновляются по расписанию и поддерживают сложные запросы, включая JOIN и UNION, без ограничений.
Копия данных, хранящихся в базе данных ClickHouse. Для обеспечения избыточности и надежности можно иметь любое количество реплик одних и тех же данных. Реплики используются совместно с движком таблицы ReplicatedMergeTree, который позволяет ClickHouse поддерживать синхронизацию нескольких копий данных между разными серверами.
Подмножество данных. В ClickHouse для ваших данных всегда есть как минимум один сегмент. Если данные не распределяются между несколькими серверами, они хранятся в одном сегменте. Распределение данных между несколькими серверами можно использовать для распределения нагрузки, если возможностей одного сервера уже недостаточно.
Индексы пропуска данных используются для хранения небольших объёмов метаданных на уровне нескольких последовательных гранул, что позволяет ClickHouse не сканировать нерелевантные строки. Индексы пропуска данных — это лёгкая альтернатива проекциям.
В ClickHouse ключ сортировки определяет физический порядок строк на диске. Если вы не укажете первичный ключ, ClickHouse будет использовать ключ сортировки в качестве первичного. Если задать и то и другое, первичный ключ должен быть префиксом ключа сортировки.
Тип индексирования, при котором первичный индекс содержит одну запись для группы строк, а не для отдельной строки. Запись, соответствующая группе строк, называется меткой. При использовании разреженных индексов ClickHouse сначала определяет группы строк, которые потенциально соответствуют запросу, а затем обрабатывает их по отдельности, чтобы найти совпадения. Благодаря этому первичный индекс достаточно мал и его можно загрузить в память.
Движки таблиц в ClickHouse определяют, как данные записываются, хранятся и читаются. MergeTree — самый распространённый движок таблицы; он позволяет быстро выполнять вставку больших объёмов данных, которые обрабатываются в фоновом режиме.
Time To Live (TTL) — это возможность ClickHouse, которая автоматически перемещает, удаляет или агрегирует столбцы или строки по истечении определённого периода времени. Это позволяет эффективнее управлять хранилищем, поскольку вы можете удалять, перемещать или архивировать данные, к которым вам больше не требуется частый доступ. Последнее изменение 10 июня 2026 г.