MergeTree
Берите, если: нужна базовая таблица общего назначения.
- Данные хранятся на диске в сжатом виде.
- Поддерживает SELECT, INSERT, DELETE, UPDATE.
- Можно индексировать поля.
- Поддерживает индексы пропуска данных.
Берите, если: нужна базовая таблица общего назначения.
Берите, если: нужно суммировать числовые столбцы.
Суммирование выполняется с группировкой по ключу сортировки.
Берите, если: одинаковые записи нужно группировать и применять агрегатные функции.
Важно: для AggregateFunction используются суффиксы -State и -Merge, и есть разница с SimpleAggregateFunction.
Берите, если: нужно удалять дублирующиеся записи с одинаковым значением ключа сортировки.
Берите, если: требуется механизм сворачивания записей.
Считается аналогом медленным UPDATE и DELETE.
Берите, если: нужно сворачивание с адаптацией под многопоточную вставку.
Интеграция с веб-службой Simple Storage Service.
Интерфейс для доступа к внешней таблице: позволяет читать данные из PostgreSQL и вставлять записи.
Важно: сам данные не хранит. Предназначен для подписки на потоки и публикации данных.
Самый простой вариант для сценариев «записал → прочел → удалил» или низкой нагрузки.
Для небольших объёмов данных (до 1 млн строк) в большом количестве таблиц. Подходит для временных данных, write-once, тестовых и демонстрационных целей.
Хранит данные в одном файле. Используется, когда нужно создавать много таблиц с небольшим объёмом данных.
Встроенный движок для хранения и обработки данных key-value.
Позволяет работать с файлами.
Позволяет управлять данными на удалённом сервере.
INSERT и SELECT транслируются соответственно в POST и GET.
Накапливает записываемые данные в оперативной памяти, а при достижении порогов сбрасывает их в таблицу-приёмник.
Хранит данные в оперативной памяти. Поддерживает SELECT, INSERT, UPDATE, DELETE. Можно использовать как кеш.
Предназначен для использования в правой части оператора IN.
Предназначен для предварительной подготовки данных для операций JOIN.
Сам данные не хранит, но позволяет одновременно читать из любого числа других таблиц.
Особенности движков зависят от слияния частей данных, которое может начаться в неизвестный момент. Чтобы получить гарантированно обработанный результат, рекомендуем добавить FINAL в конец запроса или выполнить OPTIMIZE TABLE.