mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-10-09 01:50:50 +00:00
2e1f6bc56d
* replace exit with assert in test_single_page * improve save_raw_single_page docs option * More grammar fixes * "Built from" link in new tab * fix mistype * Example of include in docs * add anchor to meeting form * Draft of translation helper * WIP on translation helper * Replace some fa docs content with machine translation * add normalize-en-markdown.sh * normalize some en markdown * normalize some en markdown * admonition support * normalize * normalize * normalize * support wide tables * normalize * normalize * normalize * normalize * normalize * normalize * normalize * normalize * normalize * normalize * normalize * normalize * normalize * lightly edited machine translation of introdpection.md * lightly edited machhine translation of lazy.md * WIP on translation utils * Normalize ru docs * Normalize other languages * some fixes * WIP on normalize/translate tools * add requirements.txt * [experimental] add es docs language as machine translated draft * remove duplicate script * Back to wider tab-stop (narrow renders not so well)
40 lines
2.0 KiB
Markdown
40 lines
2.0 KiB
Markdown
# Log Engine Family {#log-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:
|
||
|
||
- [StripeLog](stripelog.md)
|
||
- [Log](log.md)
|
||
- [TinyLog](tinylog.md)
|
||
|
||
## Common properties {#common-properties}
|
||
|
||
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 [mutation](../../query_language/alter.md#alter-mutations) operations.
|
||
|
||
- 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.
|
||
|
||
## Differences {#differences}
|
||
|
||
The `TinyLog` engine is the simplest in the family and provides the poorest functionality and lowest efficiency. The `TinyLog` engine doesn’t support parallel data reading by several threads. It reads data slower than other engines in the family that support parallel reading and it uses almost as many descriptors as the `Log` engine because it stores each column in a separate file. Use it in simple low-load 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 descriptors in the operating system, but the `Log` engine provides higher efficiency when reading data.
|
||
|
||
[Original article](https://clickhouse.tech/docs/en/operations/table_engines/log_family/) <!--hide-->
|