Log Engine Family

    Engines of the family:

    family table engines can store data to HDFS or distributed file systems.

    Engines:

    • Store data on a disk.

    • Do not support mutations.

    • Do not support indexes.

    • Do not write data atomically.

      You can get a table with corrupted data if something breaks the write operation, for example, abnormal server shutdown.

    Differences

    The TinyLog engine is the simplest in the family and provides the poorest functionality and lowest efficiency. The engine does not support parallel data reading by several threads in a single query. It reads data slower than other engines in the family that support parallel reading from a single query and it uses almost as many file descriptors as the Log engine because it stores each column in a separate file. Use it only in simple scenarios.

    The Log and StripeLog engines support parallel data reading. When reading data, ClickHouse uses multiple threads. Each thread processes a separate data block. The engine uses a separate file for each column of the table. StripeLog stores all the data in one file. As a result, the StripeLog engine uses fewer file descriptors, but the Log engine provides higher efficiency when reading data.