Nouvelle architecture distribuée

ClickHouse Cloud, la version hébergée du système de gestion de bases de données orienté colonnes ClickHouse, a annoncé l’adoption d’une architecture d’exécution de requêtes distribuées multi-étapes. Cette évolution technique marque une étape significative dans l’optimisation des performances pour les charges de travail analytiques complexes, notamment celles qui nécessitent l’agrégation et le traitement de grands volumes de données répartis sur plusieurs nœuds.

Contrairement aux approches précédentes où les requêtes distribuées étaient exécutées en une seule phase — chaque nœud traitant une partie des données, puis renvoyant les résultats partiels à un nœud coordinateur pour l’agrégation finale —, la nouvelle méthode permet de diviser la requête en plusieurs étapes successives. Chaque étape peut être exécutée de manière indépendante sur différents nœuds, ce qui permet un meilleur parallélisme et une réduction des goulots d’étranglement.

Améliorations des performances et de la scalabilité

L’un des principaux avantages de l’exécution multi-étapes est la capacité à traiter des requêtes qui dépassent la mémoire d’un seul nœud. En répartissant le travail sur plusieurs étapes, les données intermédiaires sont pipelinées entre les nœuds, évitant ainsi les débordements sur disque ou les échecs de requêtes. Cela se traduit par des temps d’exécution plus rapides, en particulier pour les requêtes avec des agrégations lourdes, des jointures ou des fonctions de fenêtrage.

Selon les détails techniques partagés, l’architecture multi-étapes tire parti du cluster sous-jacent pour équilibrer la charge entre les workers. Le plan de requête est décomposé en fragments, chaque fragment étant exécuté sur un ensemble de nœuds. Les résultats intermédiaires sont échangés entre les nœuds via un réseau haute performance, ce qui minimise la latence.

Déploiement et impact

Cette nouvelle fonctionnalité est déployée progressivement sur ClickHouse Cloud. Les utilisateurs peuvent bénéficier de ces améliorations sans aucune modification de code ou requête. L’optimisation est transparente pour les clients : les requêtes existantes sont automatiquement converties en plans d’exécution multi-étapes là où c’est pertinent.

ClickHouse Cloud est utilisé par de nombreuses entreprises pour l’analyse en temps réel, la surveillance d’infrastructure, la business intelligence et d’autres cas d’usage nécessitant des requêtes rapides sur de grands ensembles de données. L’introduction de l’exécution multi-étapes renforce sa position face à d’autres solutions d’analyse distribuées comme Apache Presto, Apache Spark SQL ou Google BigQuery.

Vers une gestion plus efficace des ressources

Au-delà de la rapidité, l’exécution multi-étapes promet une utilisation plus efficace des ressources du cluster. En permettant un meilleur équilibrage de la charge et en réduisant les besoins de mémoire par nœud, ClickHouse Cloud peut traiter des requêtes plus lourdes avec une infrastructure identique, ou maintenir la même performance avec moins de nœuds. Cela se traduit potentiellement par une réduction des coûts opérationnels pour les clients.

Prochaines évolutions

L’équipe de ClickHouse a indiqué que le déploiement de l’exécution multi-étapes n’est qu’une première étape. Des améliorations futures pourraient inclure une optimisation encore plus fine du plan de requête, une meilleure intégration avec les fonctions de machine learning, et une prise en charge de nouveaux types de requêtes. La société continue d’investir dans la recherche et le développement pour rester à la pointe de l’analyse de données.