Skip to main content
Skip to main content

Special Table Engines

There are three main categories of table engines:

The remaining engines are unique in their purpose and are not grouped into families yet, thus they are placed in this "special" category.

PageDescription
Buffer Table EngineBuffers the data to write in RAM, periodically flushing it to another table. During the read operation, data is read from the buffer and the other table simultaneously.
Dictionary Table EngineThe Dictionary engine displays the dictionary data as a ClickHouse table.
Distributed Table EngineTables with Distributed engine do not store any data of their own, but allow distributed query processing on multiple servers. Reading is automatically parallelized. During a read, the table indexes on remote servers are used, if there are any.
Executable and ExecutablePool Table EnginesThe Executable and ExecutablePool table engines allow you to define a table whose rows are generated from a script that you define (by writing rows to stdout).
External Data for Query ProcessingClickHouse allows sending a server the data that is needed for processing a query, together with a SELECT query. This data is put in a temporary table and can be used in the query (for example, in IN operators).
File Table EngineThe File table engine keeps the data in a file in one of the supported file formats (TabSeparated, Native, etc.).
FileLog EngineThis engine allows processing of application log files as a stream of records.
GenerateRandom Table EngineThe GenerateRandom table engine produces random data for given table schema.
Join Table EngineOptional prepared data structure for usage in JOIN operations.
KeeperMapThis engine allows you to use Keeper/ZooKeeper cluster as consistent key-value store with linearizable writes and sequentially consistent reads.
Memory Table EngineThe Memory engine stores data in RAM, in uncompressed form. Data is stored in exactly the same form as it is received when read. In other words, reading from this table is completely free.
Merge Table EngineThe Merge engine (not to be confused with MergeTree) does not store data itself, but allows reading from any number of other tables simultaneously.
Null Table EngineWhen writing to a Null table, data is ignored. When reading from a Null table, the response is empty.
Set Table EngineA data set that is always in RAM. It is intended for use on the right side of the IN operator.
URL Table EngineQueries data to/from a remote HTTP/HTTPS server. This engine is similar to the File engine.
View Table EngineUsed for implementing views (for more information, see the CREATE VIEW query). It does not store data, but only stores the specified SELECT query. When reading from a table, it runs this query (and deletes all unnecessary columns from the query).