- Como e onde os dados são armazenados, para onde gravá-los e de onde lê-los.
- Quais consultas são suportadas e como.
- O acesso concorrente aos dados.
- O uso de índices, se houver.
- Se a execução multithread de requisições é possível.
- Os parâmetros de replicação de dados.
Famílias de motores
MergeTree
MergeTree oferecem suporte à replicação de dados (com versões Replicated* dos motores), particionamento, índices secundários de data-skipping e outros recursos não disponíveis em outros motores.
Motores da família:
Log
Motores de integração
Motores especiais
Colunas virtuais
CREATE TABLE, e não pode vê-las nos resultados das consultas SHOW CREATE TABLE e DESCRIBE TABLE. As colunas virtuais também são somente leitura, portanto você não pode inserir dados nelas.
Para selecionar dados de uma coluna virtual, você deve especificar seu nome na consulta SELECT. SELECT * não retorna valores de colunas virtuais.
Se você criar uma tabela com uma coluna que tenha o mesmo nome de uma das colunas virtuais da tabela, essa coluna virtual ficará inacessível. Não recomendamos fazer isso. Para ajudar a evitar conflitos, os nomes de colunas virtuais geralmente começam com um sublinhado.
-
_table— Contém o nome da tabela da qual os dados foram lidos. Tipo: String. Independentemente do motor de tabela usado, cada tabela inclui uma coluna virtual universal chamada_table. Ao consultar uma tabela com o motor de tabela Merge, você pode definir condições constantes em_tablena cláusulaWHERE/PREWHERE(por exemplo,WHERE _table='xyz'). Nesse caso, a operação de leitura é realizada apenas nas tabelas em que a condição em_tableé satisfeita, portanto a coluna_tableatua como um índice. Ao usar consultas no formatoSELECT ... FROM (... UNION ALL ...), é possível determinar de qual tabela real as linhas retornadas se originam especificando a coluna_table.