- ClickHouse évolue à un rythme soutenu, avec généralement plus de 10 versions stables par an. Cela laisse un large éventail de versions possibles, et le choix n’est pas forcément évident.
- Certains utilisateurs veulent éviter de passer du temps à déterminer quelle version convient le mieux à leur cas d’usage et préfèrent simplement suivre la recommandation de quelqu’un d’autre.
Quelle version de ClickHouse recommandez-vous ?
- L’environnement de préproduction doit exécuter un ensemble de requêtes aussi proche que possible de celui que vous prévoyez d’exécuter en production :
- N’en faites pas un environnement en lecture seule avec des données figées.
- N’en faites pas un environnement en écriture seule qui se contente de recopier les données sans produire de rapports typiques.
- Ne le remettez pas à zéro au lieu d’appliquer des migrations de schéma.
- Utilisez un échantillon de données et de requêtes réelles de production. Essayez de choisir un échantillon qui reste représentatif et permette aux requêtes
SELECTde renvoyer des résultats pertinents. Utilisez l’obfuscation si vos données sont sensibles et que vos politiques internes ne permettent pas qu’elles quittent l’environnement de production. - Assurez-vous que la préproduction est couverte par vos outils de monitoring et d’alerte de la même manière que la production.
- Si votre production s’étend sur plusieurs datacenters ou régions, faites en sorte que votre préproduction fasse de même.
- Si votre production utilise des fonctionnalités complexes comme la réplication, les tables distribuées et les vues matérialisées en cascade, assurez-vous qu’elles sont configurées de manière similaire en préproduction.
- Il faut trouver le bon compromis entre, d’un côté, utiliser en préproduction à peu près le même nombre de serveurs ou de VM qu’en production, mais de plus petite taille, et de l’autre, en utiliser beaucoup moins, mais de même taille. La première option peut permettre de détecter davantage de problèmes liés au réseau, tandis que la seconde est plus facile à gérer.
- Exécutez régulièrement vos tests automatisés sur les nouvelles versions de ClickHouse. Vous pouvez le faire même pour des versions de ClickHouse marquées comme
testing, mais il n’est pas recommandé de passer aux étapes suivantes avec elles. - Déployez en préproduction la version de ClickHouse qui a passé les tests et vérifiez que tous les processus fonctionnent comme prévu.
- Signalez tous les problèmes découverts dans les issues GitHub de ClickHouse.
- S’il n’y a pas eu de problème majeur, vous pouvez commencer à déployer cette version de ClickHouse dans votre environnement de production en toute sécurité. Investir dans une automatisation des versions progressives mettant en œuvre une approche similaire aux canary releases ou aux déploiements blue-green peut encore réduire le risque de problèmes en production.
Comment choisir entre les versions de ClickHouse ?
stablelts(support à long terme)
stableest le type de paquet que nous recommandons par défaut. Une nouvelle version est publiée environ une fois par mois (et apporte donc de nouvelles fonctionnalités dans des délais raisonnables), et les trois dernières versions stables sont prises en charge en termes de diagnostic et de backport de correctifs.ltsest publié deux fois par an et est pris en charge pendant un an après sa sortie initiale. Vous pouvez lui préférerstabledans les cas suivants :- Votre entreprise applique des politiques internes qui n’autorisent pas les mises à niveau fréquentes ou l’utilisation de logiciels non LTS.
- Vous utilisez ClickHouse dans certains produits secondaires qui ne nécessitent pas de fonctionnalités ClickHouse avancées ou ne disposent pas de suffisamment de ressources pour le maintenir à jour.
lts est la meilleure option finissent malgré tout par passer à stable en raison d’une fonctionnalité récente importante pour leur produit.