Special Table Engines
There are three main categories of table engines:
- MergeTree engine family for main production use.
- Log engine family for small temporary data.
- Table engines for integrations.
The remaining engines are unique in their purpose and are not grouped into families yet, thus they are placed in this "special" category.
Page | Description |
---|---|
Buffer Table Engine | Buffers 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 Engine | The Dictionary engine displays the dictionary data as a ClickHouse table. |
Distributed Table Engine | Tables 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 Engines | The 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 Processing | ClickHouse 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 Engine | The File table engine keeps the data in a file in one of the supported file formats (TabSeparated , Native , etc.). |
FileLog Engine | This engine allows processing of application log files as a stream of records. |
GenerateRandom Table Engine | The GenerateRandom table engine produces random data for given table schema. |
Join Table Engine | Optional prepared data structure for usage in JOIN operations. |
KeeperMap | This engine allows you to use Keeper/ZooKeeper cluster as consistent key-value store with linearizable writes and sequentially consistent reads. |
Memory Table Engine | The 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 Engine | The 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 Engine | When writing to a Null table, data is ignored. When reading from a Null table, the response is empty. |
Set Table Engine | A data set that is always in RAM. It is intended for use on the right side of the IN operator. |
URL Table Engine | Queries data to/from a remote HTTP/HTTPS server. This engine is similar to the File engine. |
View Table Engine | Used 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). |