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