Перейти к основному содержанию
Перейти к основному содержанию

Специальные движки таблиц

Существует три основные категории движков таблиц:

Оставшиеся движки уникальны по своему назначению и пока не объединены в семейства, поэтому они отнесены к этой «специальной» категории.

PageDescription
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 processingClickHouse позволяет отправлять на сервер данные, необходимые для обработки запроса, вместе с запросом SELECT. Эти данные помещаются во временную таблицу и могут использоваться в запросе (например, в операторах IN).
GenerateRandom table engineДвижок таблиц GenerateRandom генерирует случайные данные для заданной схемы таблицы.
KeeperMap table engineЭтот движок позволяет использовать кластер Keeper/ZooKeeper как согласованное key-value-хранилище с линеаризуемыми записями и последовательно согласованными чтениями.
FileLog table engineЭтот движок позволяет обрабатывать файлы журналов приложений как поток записей.