Перейти к основному содержимому
Перейти к основному содержимому

Семейство движков MergeTree

Движки таблиц из семейства MergeTree являются основой возможностей хранения данных в ClickHouse. Они предоставляют большинство функций для надежности и высокой производительности обработки данных: колоночное хранение, пользовательская партиционирование, разреженный первичный ключ, вторичные индексы для пропуска данных и т.д.

Базовый MergeTree движок таблиц можно считать стандартным движком для одноузловых экземпляров ClickHouse, поскольку он универсален и практичен для широкого спектра случаев использования.

Для производственного использования ReplicatedMergeTree является оптимальным выбором, так как он добавляет высокую доступность ко всем возможностям обычного движка MergeTree. В качестве бонуса предлагается автоматическая дедупликация данных при их загрузке, что позволяет программному обеспечению безопасно повторять попытку в случае сетевой проблемы во время вставки.

Все другие движки семейства MergeTree добавляют дополнительный функционал для конкретных случаев использования. Обычно это реализуется в виде дополнительных манипуляций с данными в фоновом режиме.

Основной недостаток движков MergeTree заключается в том, что они довольно тяжелые. Поэтому типичная схема заключается в том, чтобы иметь их не так много. Если вам нужно много небольших таблиц, например, для временных данных, рассмотрите семейство Log.

СтраницаОписание
VersionedCollapsingMergeTreeПозволяет быстро записывать состояния объектов, которые постоянно меняются, и удалять старые состояния объектов в фоновом режиме.
Replication данныхОбзор репликации данных в ClickHouse
MergeTreeДвижки таблиц семейства MergeTree разработаны для высоких скоростей загрузки данных и огромных объемов данных.
Приблизительный поиск ближайших соседей с использованием векторных индексов схожестиПриблизительный поиск ближайших соседей с использованием векторных индексов схожести
CollapsingMergeTreeНаследует от MergeTree, но добавляет логику для коллапса строк во время процесса объединения.
Ключ пользовательского партиционированияУзнайте, как добавить пользовательский ключ партиционирования в таблицы MergeTree.
Полнотекстовый поиск с использованием полнотекстовых индексовБыстро находите поисковые термины в тексте.
SummingMergeTreeSummingMergeTree наследует от движка MergeTree. Его ключевая особенность заключается в возможности автоматически суммировать числовые данные во время объединения частей.
AggregatingMergeTreeЗаменяет все строки с одинаковым первичным ключом (или, точнее, с одинаковым ключом сортировки) на одну строку (в рамках одной части данных), которая хранит комбинацию состояний агрегирующих функций.
GraphiteMergeTreeРазработан для сжатия и агрегирования/усреднения (rollup) данных Graphite.
ReplacingMergeTreeОтличается от MergeTree тем, что удаляет дубликаты с одинаковым значением ключа сортировки (ORDER BY часть таблицы, не PRIMARY KEY).