Семейство движков 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 | Быстро находите поисковые запросы в тексте. |
SummingMergeTree | SummingMergeTree наследует от движка MergeTree. Его ключевая особенность заключается в способности автоматически суммировать числовые данные во время слияния частей. |
AggregatingMergeTree | Заменяет все строки с тем же первичным ключом (или, точнее, с тем же ключом сортировки) на одну строку (внутри одной части данных), которая хранит комбинацию состояний агрегатных функций. |
GraphiteMergeTree | Предназначен для уменьшения и агрегации/усреднения (rollup) данных Graphite. |
ReplacingMergeTree | Отличается от MergeTree тем, что удаляет дублирующие записи с одинаковым значением ключа сортировки (ORDER BY в секции таблицы, а не PRIMARY KEY ). |