> ## 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 sur les moteurs de table

# Moteurs de table

Le moteur de table (type de table) détermine :

* Comment et où les données sont stockées, où elles sont écrites et d’où elles sont lues.
* Quelles requêtes sont prises en charge, et de quelle manière.
* L’accès concurrent aux données.
* L’utilisation des index, s’ils sont présents.
* Si l’exécution multithread des requêtes est possible.
* Les paramètres de réplication.

<div id="engine-families">
  ## Familles de moteurs
</div>

<div id="mergetree">
  ### MergeTree
</div>

Les moteurs de table les plus polyvalents et les plus complets pour les charges de travail intensives. Leur caractéristique commune est une insertion rapide des données, suivie d’un traitement en arrière-plan. Les moteurs de la famille `MergeTree` prennent en charge la réplication des données (via les versions [Replicated\*](/fr/reference/engines/table-engines/mergetree-family/replication) des moteurs), le partitionnement, les index secondaires de saut de données et d’autres fonctionnalités absentes des autres moteurs.

Moteurs de la famille :

| Moteurs MergeTree                                                                                                 |
| ----------------------------------------------------------------------------------------------------------------- |
| [MergeTree](/fr/reference/engines/table-engines/mergetree-family/mergetree)                                       |
| [ReplacingMergeTree](/fr/reference/engines/table-engines/mergetree-family/replacingmergetree)                     |
| [SummingMergeTree](/fr/reference/engines/table-engines/mergetree-family/summingmergetree)                         |
| [AggregatingMergeTree](/fr/reference/engines/table-engines/mergetree-family/aggregatingmergetree)                 |
| [CollapsingMergeTree](/fr/reference/engines/table-engines/mergetree-family/collapsingmergetree)                   |
| [VersionedCollapsingMergeTree](/fr/reference/engines/table-engines/mergetree-family/versionedcollapsingmergetree) |
| [GraphiteMergeTree](/fr/reference/engines/table-engines/mergetree-family/graphitemergetree)                       |
| [CoalescingMergeTree](/fr/reference/engines/table-engines/mergetree-family/coalescingmergetree)                   |

<div id="log">
  ### Log
</div>

Des [moteurs](/fr/reference/engines/table-engines/log-family/index) légers offrant un minimum de fonctionnalités. Ils sont particulièrement efficaces lorsque vous devez alimenter rapidement de nombreuses petites tables (jusqu'à environ 1 million de lignes), puis les lire ultérieurement dans leur intégralité.

Moteurs de la famille :

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

<div id="integration-engines">
  ### Moteurs d'intégration
</div>

Moteurs permettant de communiquer avec d'autres systèmes de stockage et de traitement de données.

Moteurs de cette famille :

| Moteurs d'intégration                                                                |
| ------------------------------------------------------------------------------------ |
| [ODBC](/fr/snippets/engines/table-engines/integrations/odbc)                         |
| [JDBC](/fr/reference/engines/table-engines/integrations/jdbc)                        |
| [MySQL](/fr/reference/engines/table-engines/integrations/mysql)                      |
| [MongoDB](/fr/reference/engines/table-engines/integrations/mongodb)                  |
| [Redis](/fr/reference/engines/table-engines/integrations/redis)                      |
| [HDFS](/fr/reference/engines/table-engines/integrations/hdfs)                        |
| [S3](/fr/reference/engines/table-engines/integrations/s3)                            |
| [Kafka](/fr/reference/engines/table-engines/integrations/kafka)                      |
| [EmbeddedRocksDB](/fr/reference/engines/table-engines/integrations/embedded-rocksdb) |
| [RabbitMQ](/fr/reference/engines/table-engines/integrations/rabbitmq)                |
| [PostgreSQL](/fr/reference/engines/table-engines/integrations/postgresql)            |
| [S3Queue](/fr/reference/engines/table-engines/integrations/s3queue)                  |
| [TimeSeries](/fr/reference/engines/table-engines/integrations/time-series)           |

<div id="special-engines">
  ### Moteurs spéciaux
</div>

Moteurs de cette famille :

| Moteurs spéciaux                                                           |
| -------------------------------------------------------------------------- |
| [Distributed](/fr/reference/engines/table-engines/special/distributed)     |
| [Dictionary](/fr/reference/engines/table-engines/special/dictionary)       |
| [Merge](/fr/reference/engines/table-engines/special/merge)                 |
| [Executable](/fr/reference/engines/table-engines/special/executable)       |
| [File](/fr/reference/engines/table-engines/special/file)                   |
| [Null](/fr/reference/engines/table-engines/special/null)                   |
| [Set](/fr/reference/engines/table-engines/special/set)                     |
| [Join](/fr/reference/engines/table-engines/special/join)                   |
| [URL](/fr/reference/engines/table-engines/special/url)                     |
| [View](/fr/reference/engines/table-engines/special/view)                   |
| [Memory](/fr/reference/engines/table-engines/special/memory)               |
| [Buffer](/fr/reference/engines/table-engines/special/buffer)               |
| [External Data](/fr/reference/engines/table-engines/special/external-data) |
| [GenerateRandom](/fr/reference/engines/table-engines/special/generate)     |
| [KeeperMap](/fr/reference/engines/table-engines/special/keepermap)         |
| [FileLog](/fr/reference/engines/table-engines/special/filelog)             |

<div id="table_engines-virtual_columns">
  ## Colonnes virtuelles
</div>

Une colonne virtuelle est un attribut inhérent au moteur de table, défini dans le code source du moteur.

Vous ne devez pas spécifier de colonnes virtuelles dans la requête `CREATE TABLE`, et elles n'apparaissent pas dans les résultats des requêtes `SHOW CREATE TABLE` et `DESCRIBE TABLE`. Les colonnes virtuelles sont également en lecture seule, vous ne pouvez donc pas y insérer de données.

Pour sélectionner des données depuis une colonne virtuelle, vous devez spécifier son nom dans la requête `SELECT`. `SELECT *` ne renvoie pas les valeurs des colonnes virtuelles.

Si vous créez une table avec une colonne portant le même nom que l'une des colonnes virtuelles de la table, la colonne virtuelle devient inaccessible. Nous ne recommandons pas de le faire. Pour éviter les conflits, les noms des colonnes virtuelles sont généralement préfixés par un trait de soulignement.

* `_table` — Contient le nom de la table depuis laquelle les données ont été lues. Type : [String](/fr/reference/data-types/string).

  Quel que soit le moteur de table utilisé, chaque table inclut une colonne virtuelle universelle nommée `_table`.

  Lorsqu'une requête porte sur une table utilisant le moteur de table Merge, vous pouvez définir des conditions constantes sur `_table` dans la clause `WHERE/PREWHERE` (par exemple, `WHERE _table='xyz'`). Dans ce cas, l'opération de lecture est effectuée uniquement pour les tables pour lesquelles la condition sur `_table` est satisfaite, de sorte que la colonne `_table` agit comme un index.

  Lorsque vous utilisez des requêtes de la forme `SELECT ... FROM (... UNION ALL ...)`, vous pouvez déterminer de quelle table réelle proviennent les lignes renvoyées en spécifiant la colonne `_table`.
