Tables système essentielles
system.errors
system.replicas
system.replication_queue
system.merges
system.parts
Problèmes courants en production
Problèmes d’espace disque
Erreur « Too many parts »
- Regroupez les données en lots avec des seuils de 30 secondes ou 200 Mo
- Activez async_insert pour le batching automatique
- Utilisez des tables Buffer pour le batching côté serveur
- Configurez Kafka pour maîtriser la taille des lots
Problèmes liés à des timestamps invalides
Risques liés aux opérations ALTER
ALTER volumineuses sur des tables de plusieurs téraoctets peuvent consommer beaucoup de ressources et potentiellement verrouiller des bases de données. Dans un exemple partagé par la communauté, le remplacement d’un Integer par un Float sur 14 To de données a verrouillé l’ensemble de la base de données et nécessité une reconstruction à partir de sauvegardes.
Surveillez les mutations coûteuses :
Mémoire et performances
Agrégation externe
max_bytes_before_external_group_by, ce qui permet d’éviter les plantages dus à un manque de mémoire lors d’opérations GROUP BY volumineuses. Vous pouvez en savoir plus sur ce paramètre ici.
Détails sur async insert
async insert regroupe automatiquement côté serveur les petites insertions afin d’améliorer les performances. Vous pouvez indiquer s’il faut attendre que les données soient écrites sur le disque avant de renvoyer l’accusé de réception — un retour immédiat est plus rapide, mais offre moins de garanties de durabilité. Les versions récentes prennent en charge la déduplication pour gérer les doublons au sein des lots.
Documentation connexe
Configuration des tables distribuées
insert_distributed_sync pour permettre un traitement en parallèle et un envoi immédiat des données vers les shards.
Surveillez l’accumulation de données temporaires lors de l’utilisation de tables distribuées.
Seuils de monitoring des performances
- Nombre de parts par partition : de préférence inférieur à 100
- Insertions retardées : doivent rester à zéro
- Taux d’insertion : à limiter à environ 1 par seconde pour des performances optimales