Skip to main content

Table Engines

[Table Engines \ClickHouse Docs](https://clickhouse.com/docs/engines/table-engines

The table engine (type of table) determines:

  • How and where data is stored, where to write it to, and where to read it from.
  • Which queries are supported, and how.
  • Concurrent data access.
  • Use of indexes, if present.
  • Whether multithread request execution is possible.
  • Data replication parameters.

Engine Families

MergeTree

The most universal and functional table engines for high-load tasks. The property shared by these engines is quick data insertion with subsequent background data processing. MergeTree family engines support data replication (with Replicated* versions of engines), partitioning, secondary data-skipping indexes, and other features not supported in other engines.

Engines in the family:

  1. MergeTree
  2. ReplacingMergeTree
  3. SummingMergeTree
  4. AggregatingMergeTree
  5. CollapsingMergeTree
  6. VersionedCollapsingMergeTree
  7. GraphiteMergeTree

Log

Lightweight engines with minimum functionality. They're the most effective when you need to quickly write many small tables (up to approximately 1 million rows) and read them later as a whole.

Engines in the family:

  1. TinyLog
  2. StripeLog
  3. Log

Integration Engines

Engines for communicating with other data storage and processing systems.

Engines in the family:

  1. ODBC
  2. JDBC
  3. MySQL
  4. MongoDB
  5. Redis
  6. HDFS
  7. S3
  8. Kafka
  9. EmbeddedRocksDB
  10. RabbitMQ
  11. PostgreSQL
  12. S3Queue
  13. TimeSeries

Special Engines

Engines in the family:

  1. Distributed
  2. Dictionary
  3. Merge
  4. Executable
  5. File
  6. Null
  7. Set
  8. Join
  9. URL
  10. View
  11. Memory
  12. Buffer
  13. External Data
  14. GenerateRandom
  15. KeeperMap
  16. FileLog