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

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

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

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

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

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

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

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