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

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

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

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

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

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

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

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