Skip to main content
Ce moteur appartient à la famille des moteurs de journalisation. Consultez les propriétés communes des moteurs de journalisation ainsi que leurs différences dans l’article Famille de moteurs Log. Utilisez ce moteur lorsque vous devez écrire dans un grand nombre de tables contenant peu de données (moins de 1 million de lignes). Par exemple, cette table peut servir à stocker des lots de données entrants à transformer lorsqu’un traitement atomique est nécessaire. 100 000 instances de ce type de table sont prises en charge sur un serveur ClickHouse. Ce moteur de table est à privilégier par rapport à Log lorsqu’un grand nombre de tables est requis. Cela se fait au détriment des performances de lecture.

Créer une table

Consultez la description détaillée de la requête CREATE TABLE.

Écriture des données

Le moteur StripeLog stocke toutes les colonnes dans un unique fichier. Pour chaque requête INSERT, ClickHouse ajoute le bloc de données à la fin du fichier de table, en écrivant les colonnes une par une. Pour chaque table, ClickHouse écrit les fichiers suivants :
  • data.bin — Fichier de données.
  • index.mrk — Fichier contenant les marques. Les marques contiennent les offsets de chaque colonne de chaque bloc de données inséré.
Le moteur StripeLog ne prend pas en charge les opérations ALTER UPDATE et ALTER DELETE.

Lecture des données

Le fichier de marques permet à ClickHouse de paralléliser la lecture des données. Cela signifie qu’une requête SELECT renvoie les lignes dans un ordre imprévisible. Utilisez la clause ORDER BY pour trier les lignes.

Exemple d’utilisation

Création d’une table :
Insérer des données :
Nous avons utilisé deux requêtes INSERT pour créer deux blocs de données dans le fichier data.bin. ClickHouse utilise plusieurs threads lors de la lecture des données. Chaque thread lit un bloc de données distinct et renvoie les lignes obtenues indépendamment, dès qu’il a terminé. Par conséquent, dans la plupart des cas, l’ordre des blocs de lignes dans la sortie ne correspond pas à l’ordre de ces mêmes blocs dans les données d’entrée. Par exemple :
Tri des résultats (par ordre croissant par défaut) :
Dernière modification le 24 juillet 2026