Разница между движками баз данных в ClickHouse заключается в их особенностях и назначении:
- Atomic. 12 Движок по умолчанию в ClickHouse. 1 Поддерживает конфигурируемые движки таблиц и диалект SQL. 1
- MySQL, MaterializedMySQL и PostgreSQL. 2 Позволяют подключаться к базам данных на удалённом MySQL/PostgreSQL-сервере и выполнять запросы INSERT и SELECT для обмена данными между ClickHouse и внешними БД. 2 Это удобно при работе одного приложения с несколькими хранилищами данных. 2
- MaterializedMySQL. 2 Экспериментальный движок, который создаёт базу данных ClickHouse со всеми таблицами и данными, которые есть в MySQL. 2
- Replicated. 2 Основан на Atomic и поддерживает репликацию метаданных через DDL-лог, записываемый в ZooKeeper и выполняемый на всех репликах базы данных. 2
- Lazy. 2 Сохраняет таблицы только в оперативной памяти через несколько секунд после последнего доступа. 2 Может использоваться только с небольшими таблицами типа Log, которые редко запрашиваются. 2
Выбор движка зависит от типового варианта использования таблицы. 2 Например, MergeTree подходит для хранения временных рядов в ClickHouse, поддерживая высокую скорость вставки и запросов на больших объёмах данных. 2 SummingMergeTree хорошо работает с простыми агрегациями. 2 GraphiteMergeTree рекомендуется для работы с данными временных рядов инструмента мониторинга Graphite, а CollapsingMergeTree может снизить объём потребляемого пространства за счёт удаления строк, эквивалентных по ключу сортировки. 2