Passer au contenu principal
La réponse courte est « oui ». ClickHouse dispose de plusieurs mécanismes qui permettent de libérer de l’espace disque en supprimant les données anciennes. Chacun est adapté à des scénarios différents.

TTL

ClickHouse permet de supprimer automatiquement des valeurs lorsqu’une condition donnée est remplie. Cette condition est définie sous forme d’expression basée sur n’importe quelle colonne, généralement un simple décalage statique appliqué à une colonne timestamp. Le principal avantage de cette approche est qu’elle ne nécessite aucun système externe pour être déclenchée : une fois le TTL configuré, la suppression des données s’effectue automatiquement en arrière-plan.
Le TTL peut également être utilisé pour déplacer des données non seulement vers /dev/null, mais aussi entre différents systèmes de stockage, par exemple d’un SSD vers un HDD.
Pour plus de détails, consultez la configuration du TTL.

DELETE FROM

DELETE FROM permet d’exécuter des requêtes DELETE standard dans ClickHouse. Les lignes ciblées par la clause de filtre sont marquées comme supprimées et exclues des jeux de résultats ultérieurs. Le nettoyage de ces lignes s’effectue de manière asynchrone.
DELETE FROM est disponible de manière générale à partir de la version 23.3. Dans les versions antérieures, il est expérimental et doit être activé avec :
SET allow_experimental_lightweight_delete = true;

ALTER DELETE

ALTER DELETE supprime des lignes au moyen d’opérations par lot asynchrones. Contrairement à DELETE FROM, les requêtes exécutées après l’ALTER DELETE et avant la fin des opérations par lot incluront les lignes visées par la suppression. Pour plus de détails, consultez la documentation ALTER DELETE. ALTER DELETE peut être utilisé pour supprimer d’anciennes données de manière flexible. Si vous devez le faire régulièrement, le principal inconvénient est qu’il faut disposer d’un système externe pour soumettre la requête. Il faut également tenir compte de certaines implications en matière de performances, car les mutations réécrivent des parties entières même lorsqu’une seule ligne doit être supprimée. Il s’agit de l’approche la plus courante pour rendre votre système basé sur ClickHouse conforme au RGPD. Pour plus de détails, voir mutations.

DROP PARTITION

ALTER TABLE ... DROP PARTITION offre une solution peu coûteuse pour supprimer une partition entière. Cette méthode n’est pas très flexible et nécessite qu’un schéma de partitionnement approprié soit défini lors de la création de la table, mais elle couvre malgré tout la plupart des cas courants. Comme les mutations, elle doit être exécutée depuis un système externe pour un usage régulier. Pour plus de détails, consultez la section manipulation des partitions.

TRUNCATE

Supprimer toutes les données d’une table est une mesure assez radicale, mais dans certains cas, c’est peut-être exactement ce qu’il vous faut. Plus de détails sur le TRUNCATE d’une table.
Dernière modification le 29 juin 2026