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

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

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

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

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

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

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

СтраницаОписание
MergeTreeДвижки таблиц семейства MergeTree разработаны для высоких объемов поступления данных и больших объемов данных.
Data ReplicationОбзор репликации данных в ClickHouse
Custom Partitioning KeyУзнайте, как добавить пользовательский ключ партиционирования к таблицам MergeTree.
ReplacingMergeTreeотличается от MergeTree тем, что удаляет дублирующиеся записи с одинаковым значением ключа сортировки (ORDER BY часть таблицы, а не PRIMARY KEY).
CoalescingMergeTreeCoalescingMergeTree наследует от движка MergeTree. Его ключевой особенностью является возможность автоматически сохранять последнее ненулевое значение каждой колонки во время слияния частей.
SummingMergeTreeSummingMergeTree наследует от движка MergeTree. Его ключевая особенность заключается в возможности автоматически суммировать числовые данные во время слияния частей.
AggregatingMergeTreeЗаменяет все строки с одинаковым первичным ключом (или более точно, с одинаковым ключом сортировки) на одну строку (внутри одной части данных), которая хранит комбинацию состояний агрегатных функций.
CollapsingMergeTreeНаследует от MergeTree, но добавляет логику для коллапса строк в процессе слияния.
VersionedCollapsingMergeTreeПозволяет быстро записывать состояния объектов, которые постоянно меняются, и удалять старые состояния объектов в фоновом режиме.
GraphiteMergeTreeРазработан для сжатия и агрегации/усреднения (rollup) данных Graphite.
Exact and Approximate Vector SearchДокументация по точному и аппроксимирующему векторному поиску
Full-text Search using Text IndexesБыстрый поиск терминов в тексте.