2020-10-26 10:29:30 +00:00
---
2022-04-09 13:29:05 +00:00
sidebar_label: "Движки таблиц"
sidebar_position: 26
2020-10-26 10:29:30 +00:00
---
2020-03-22 09:14:59 +00:00
# Движки таблиц {#table_engines}
2017-10-25 05:27:09 +00:00
Движок таблицы (тип таблицы) определяет:
2020-03-21 04:11:51 +00:00
- Как и где хранятся данные, куда их писать и откуда читать.
- Какие запросы поддерживаются и каким образом.
- Конкурентный доступ к данным.
- Использование индексов, если есть.
- Возможно ли многопоточное выполнение запроса.
- Параметры репликации данных.
2018-04-28 11:45:37 +00:00
2021-03-14 17:11:26 +00:00
## Семейства движков {#engine-families}
2018-04-28 11:45:37 +00:00
2020-03-20 18:20:59 +00:00
### MergeTree {#mergetree}
2019-08-27 11:04:52 +00:00
2020-05-06 06:13:29 +00:00
Наиболее универсальные и функциональные движки таблиц для задач с высокой загрузкой. Общим свойством этих движков является быстрая вставка данных с последующей фоновой обработкой данных. Движки `*MergeTree` поддерживают репликацию данных (в [Replicated\* ](mergetree-family/replication.md#replication ) версиях движков), партиционирование, и другие возможности не поддержанные для других движков.
2019-08-27 11:04:52 +00:00
Движки семейства:
2020-05-06 06:13:29 +00:00
- [MergeTree ](mergetree-family/mergetree.md#mergetree )
- [ReplacingMergeTree ](mergetree-family/replacingmergetree.md#replacingmergetree )
- [SummingMergeTree ](mergetree-family/summingmergetree.md#summingmergetree )
- [AggregatingMergeTree ](mergetree-family/aggregatingmergetree.md#aggregatingmergetree )
- [CollapsingMergeTree ](mergetree-family/collapsingmergetree.md#table_engine-collapsingmergetree )
- [VersionedCollapsingMergeTree ](mergetree-family/versionedcollapsingmergetree.md#versionedcollapsingmergetree )
- [GraphiteMergeTree ](mergetree-family/graphitemergetree.md#graphitemergetree )
2019-08-27 11:04:52 +00:00
2020-03-20 18:20:59 +00:00
### Log {#log}
2019-08-27 11:04:52 +00:00
2020-04-30 18:19:18 +00:00
Простые [движки ](log-family/index.md ) с минимальной функциональностью. Они наиболее эффективны, когда вам нужно быстро записать много небольших таблиц (до примерно 1 миллиона строк) и прочитать их позже целиком.
2019-08-27 11:04:52 +00:00
Движки семейства:
2020-05-06 06:13:29 +00:00
- [TinyLog ](log-family/tinylog.md#tinylog )
- [StripeLog ](log-family/stripelog.md#stripelog )
- [Log ](log-family/log.md#log )
2019-08-27 11:04:52 +00:00
2021-03-14 17:11:26 +00:00
### Движки для интеграции {#integration-engines}
2019-08-27 11:04:52 +00:00
Движки для связи с другими системами хранения и обработки данных.
Движки семейства:
2020-05-06 06:13:29 +00:00
- [Kafka ](integrations/kafka.md#kafka )
- [MySQL ](integrations/mysql.md#mysql )
- [ODBC ](integrations/odbc.md#table-engine-odbc )
- [JDBC ](integrations/jdbc.md#table-engine-jdbc )
2021-03-24 18:56:04 +00:00
- [S3 ](integrations/s3.md#table-engine-s3 )
2019-08-27 11:04:52 +00:00
2020-03-20 18:20:59 +00:00
### Специальные движки {#spetsialnye-dvizhki}
2019-08-27 11:04:52 +00:00
2021-03-14 17:11:26 +00:00
- [ODBC ](../../engines/table-engines/integrations/odbc.md )
- [JDBC ](../../engines/table-engines/integrations/jdbc.md )
- [MySQL ](../../engines/table-engines/integrations/mysql.md )
- [MongoDB ](../../engines/table-engines/integrations/mongodb.md )
- [HDFS ](../../engines/table-engines/integrations/hdfs.md )
- [Kafka ](../../engines/table-engines/integrations/kafka.md )
- [EmbeddedRocksDB ](../../engines/table-engines/integrations/embedded-rocksdb.md )
- [RabbitMQ ](../../engines/table-engines/integrations/rabbitmq.md )
- [PostgreSQL ](../../engines/table-engines/integrations/postgresql.md )
### Специальные движки {#special-engines}
2019-08-27 11:04:52 +00:00
Движки семейства:
2020-05-06 06:13:29 +00:00
- [Distributed ](special/distributed.md#distributed )
- [MaterializedView ](special/materializedview.md#materializedview )
- [Dictionary ](special/dictionary.md#dictionary )
2020-06-30 08:30:06 +00:00
- [Merge ](special/merge.md#merge )
2020-05-06 06:13:29 +00:00
- [File ](special/file.md#file )
- [Null ](special/null.md#null )
- [Set ](special/set.md#set )
- [Join ](special/join.md#join )
- [URL ](special/url.md#table_engines-url )
- [View ](special/view.md#table_engines-view )
- [Memory ](special/memory.md#memory )
- [Buffer ](special/buffer.md#buffer )
## Виртуальные столбцы {#table_engines-virtual_columns}
2019-08-27 11:04:52 +00:00
Виртуальный столбец — это неотъемлемый атрибут движка таблиц, определенный в исходном коде движка.
2021-08-04 09:52:30 +00:00
Виртуальные столбцы не надо указывать в запросе `CREATE TABLE` и они не отображаются в результатах запросов `SHOW CREATE TABLE` и `DESCRIBE TABLE` . Также виртуальные столбцы доступны только для чтения, поэтому вы не можете вставлять в них данные.
2019-08-27 11:04:52 +00:00
Чтобы получить данные из виртуального столбца, необходимо указать е г о название в запросе `SELECT` . `SELECT *` не отображает данные из виртуальных столбцов.
При создании таблицы с о столбцом, имя которого совпадает с именем одного из виртуальных столбцов таблицы, виртуальный столбец становится недоступным. Н е делайте так. Чтобы помочь избежать конфликтов, имена виртуальных столбцов обычно предваряются подчеркиванием.