Специальные движки таблиц
Существует три основные категории движков таблиц:
- Семейство движков MergeTree для основного использования в продакшене.
- Семейство движков Log для небольших временных данных.
- Движки таблиц для интеграций.
Оставшиеся движки уникальны по своему назначению и пока не объединены в семейства, поэтому они отнесены к этой «специальной» категории.
| Page | Description |
|---|---|
| Alias table engine | Движок таблиц Alias создает прозрачный прокси для другой таблицы. Все операции перенаправляются в целевую таблицу, при этом алиас сам по себе не хранит данные. |
| Distributed table engine | Таблицы с движком Distributed не хранят собственные данные, но позволяют выполнять распределенную обработку запросов на нескольких серверах. Чтение автоматически параллелизуется. При чтении используются индексы таблиц на удаленных серверах, если они есть. |
| Dictionary table engine | Движок Dictionary отображает данные словаря в виде таблицы ClickHouse. |
| Merge table engine | Движок Merge (не путать с MergeTree) сам по себе не хранит данные, но позволяет одновременно читать из любого количества других таблиц. |
| Executable and ExecutablePool table engines | Движки таблиц Executable и ExecutablePool позволяют определить таблицу, строки которой генерируются заданным вами скриптом (путем записи строк в stdout). |
| File table engine | Движок таблиц File хранит данные в файле в одном из поддерживаемых форматов (TabSeparated, Native и т. д.). |
| Null table engine | При записи в таблицу Null данные игнорируются. При чтении из таблицы Null результат пуст. |
| Set table engine | Набор данных, который всегда находится в оперативной памяти (RAM). Предназначен для использования в правой части оператора IN. |
| Join table engine | Опциональная предварительно подготовленная структура данных для использования в операциях JOIN. |
| URL table engine | Выполняет запросы данных к удаленному HTTP/HTTPS-серверу и с него. Этот движок похож на движок File. |
| View table engine | Используется для реализации представлений (подробнее см. запрос CREATE VIEW). Он не хранит данные, а только сохраняет указанный запрос SELECT. При чтении из таблицы выполняется этот запрос (и из него удаляются все ненужные столбцы). |
| Memory table engine | Движок Memory хранит данные в оперативной памяти (RAM) в несжатом виде. Данные хранятся в точности в том виде, в каком они получены при чтении. Другими словами, чтение из этой таблицы практически бесплатное. |
| Buffer table engine | Буферизует данные для записи в оперативной памяти, периодически сбрасывая их в другую таблицу. При чтении данные считываются одновременно из буфера и из другой таблицы. |
| External data for query processing | ClickHouse позволяет отправлять на сервер данные, необходимые для обработки запроса, вместе с запросом SELECT. Эти данные помещаются во временную таблицу и могут использоваться в запросе (например, в операторах IN). |
| GenerateRandom table engine | Движок таблиц GenerateRandom генерирует случайные данные для заданной схемы таблицы. |
| KeeperMap table engine | Этот движок позволяет использовать кластер Keeper/ZooKeeper как согласованное key-value-хранилище с линеаризуемыми записями и последовательно согласованными чтениями. |
| FileLog table engine | Этот движок позволяет обрабатывать файлы журналов приложений как поток записей. |