Перейти к основному содержимому
Перейти к основному содержимому

Движки Таблиц

Движок таблицы (тип таблицы) определяет:

  • Как и где хранятся данные, куда их записывать и откуда считывать.
  • Какие запросы поддерживаются и как.
  • Одновременный доступ к данным.
  • Использование индексов, если они присутствуют.
  • Возможность многопоточного выполнения запросов.
  • Параметры репликации данных.

Семейства Движков

MergeTree

Самые универсальные и функциональные движки таблиц для задач с высокой нагрузкой. Общим свойством этих движков является быстрая вставка данных с последующей обработкой данных в фоновом режиме. Движки семейства MergeTree поддерживают репликацию данных (с версиями Replicated* движков), партиционирование, вторичные индексы пропуска данных и другие функции, не поддерживаемые в других движках.

Движки в семействе:

Движки MergeTree
MergeTree
ReplacingMergeTree
SummingMergeTree
AggregatingMergeTree
CollapsingMergeTree
VersionedCollapsingMergeTree
GraphiteMergeTree

Log

Легковесные движки с минимальной функциональностью. Они наиболее эффективны, когда вам нужно быстро записать много небольших таблиц (до примерно 1 миллиона строк) и позже считать их целиком.

Движки в семействе:

Движки Log
TinyLog
StripeLog
Log

Движки Интеграции

Движки для взаимодействия с другими системами хранения и обработки данных.

Движки в семействе:

Движки Интеграции
ODBC
JDBC
MySQL
MongoDB
Redis
HDFS
S3
Kafka
EmbeddedRocksDB
RabbitMQ
PostgreSQL
S3Queue
TimeSeries

Специальные Движки

Движки в семействе:

Специальные Движки
Distributed
Dictionary
Merge
Executable
File
Null
Set
Join
URL
View
Memory
Buffer
External Data
GenerateRandom
KeeperMap
FileLog

Виртуальные Столбцы

Виртуальный столбец — это неотъемлемый атрибут движка таблицы, который определяется в исходном коде движка.

Вы не должны указывать виртуальные столбцы в запросе CREATE TABLE, и вы не сможете увидеть их в результатах запросов SHOW CREATE TABLE и DESCRIBE TABLE. Виртуальные столбцы также являются доступными только для чтения, поэтому вы не можете вставлять данные в виртуальные столбцы.

Для выбора данных из виртуального столбца вы должны указать его имя в запросе SELECT. SELECT * не возвращает значения из виртуальных столбцов.

Если вы создадите таблицу со столбцом, который имеет то же имя, что и один из виртуальных столбцов таблицы, виртуальный столбец станет недоступным. Мы не рекомендуем этого делать. Чтобы помочь избежать конфликтов, имена виртуальных столбцов обычно начинаются с подчеркивания.