> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-fbfa8bee.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Documentation for the Log engine family

# Log engine family

export const CloudNotSupportedBadge = () => {
  return <div className="cloudNotSupportedBadge">
            <div className="cloudNotSupportedIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.5" d="M6.33366 12.6666L12.3739 12.6667C13.6593 12.6667 14.7073 11.6187 14.7073 10.3334C14.7073 9.04804 13.6593 8.00003 12.3739 8.00003C12.3739 8.00003 12.3337 7.66659 12.0003 7.33325M10.667 5.33322C8.00033 2.33325 4.45395 4.78537 4.14195 6.68203C2.55728 6.7627 1.29395 8.06203 1.29395 9.6667C1.29395 11.3234 2.66699 12.6666 4.00033 12.6666" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.5" d="M2.66699 14L12.0003 4.66663" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>

        </div>
            Not supported in ClickHouse Cloud
        </div>;
};

# Log table engine family

These engines were developed for scenarios when you need to quickly write many small tables (up to about 1 million rows) and read them later as a whole.

Engines of the family:

| Log Engines                                                        |
| ------------------------------------------------------------------ |
| [StripeLog](/reference/engines/table-engines/log-family/stripelog) |
| [Log](/reference/engines/table-engines/log-family/log)             |
| [TinyLog](/reference/engines/table-engines/log-family/tinylog)     |

`Log` family table engines can store data to [HDFS](/reference/engines/table-engines/integrations/hdfs) or [S3](/reference/engines/table-engines/mergetree-family/mergetree#table_engine-mergetree-s3) distributed file systems.

<Warning>
  **This engine is not for log data.**

  Despite the name, \*Log table engines are not meant for the storage of log data.  They should only be used for small volumes which need to be written quickly.
</Warning>

<h2 id="common-properties">
  Common properties
</h2>

Engines:

* Store data on a disk.

* Append data to the end of file when writing.

* Support locks for concurrent data access.

  During `INSERT` queries, the table is locked, and other queries for reading and writing data both wait for the table to unlock. If there are no data writing queries, any number of data reading queries can be performed concurrently.

* Do not support [mutations](/reference/statements/alter/index#mutations).

* Do not support indexes.

  This means that `SELECT` queries for ranges of data are not efficient.

* Do not write data atomically.

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

<h2 id="differences">
  Differences
</h2>

The `TinyLog` engine is the simplest in the family and provides the poorest functionality and lowest efficiency. The `TinyLog` 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 `Log` 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.
