Optimisation des performances de ClickHouse sur les processeurs Intel Xeon à très grand nombre de cœurs

2025-09-17
Optimisation des performances de ClickHouse sur les processeurs Intel Xeon à très grand nombre de cœurs

Les derniers processeurs Intel disposent de centaines de cœurs, offrant à la fois des opportunités considérables et des défis importants pour les bases de données analytiques telles que ClickHouse. Les ingénieurs d'Intel Shanghai ont analysé systématiquement les performances de ClickHouse sur des serveurs à très grand nombre de cœurs, identifiant et optimisant cinq goulots d'étranglement clés : la contention de verrouillage, l'optimisation de la mémoire, le parallélisme insuffisant, l'utilisation des instructions SIMD et le faux partage. En réduisant les temps de maintien des verrous, en améliorant l'allocateur de mémoire, en parallélisant les phases série, en utilisant des algorithmes SIMD plus intelligents et en optimisant la disposition de la mémoire, ils ont considérablement amélioré l'évolutivité de ClickHouse sur les systèmes à très grand nombre de cœurs, obtenant jusqu'à 10 fois plus de vitesse pour des requêtes individuelles et une amélioration de 10 % de la moyenne géométrique globale. Ce travail souligne la nécessité d'une optimisation multiforme des bases de données à l'ère des systèmes à très grand nombre de cœurs, en tenant compte des aspects algorithmiques et de la disposition de la mémoire.

Lire plus

Explorer un ORM pour les bases de données OLAP : l'approche Moose OLAP

2025-08-17
Explorer un ORM pour les bases de données OLAP : l'approche Moose OLAP

Les applications modernes s'appuient de plus en plus sur des analyses orientées utilisateur et l'IA alimentées par des agrégations sur de grands ensembles de données, poussant les développeurs vers des bases de données analytiques comme ClickHouse. Cet article explore les possibilités et les défis de la création d'un ORM pour les bases de données OLAP. Étendre les ORM OLTP existants à OLAP est problématique en raison des différences sémantiques. Moose OLAP, un projet open source, tente de fournir une interface de type ORM pour ClickHouse. Il s'inspire des points forts des ORM OLTP, mais s'adapte aux spécificités de l'OLAP, telles que la gestion des valeurs NULL et des contraintes d'unicité de manière différente. Moose OLAP met l'accent sur le schéma en tant que code, fournit une sémantique et des valeurs par défaut natives de l'OLAP, et prend en charge les migrations versionnées pour gérer les changements dynamiques de schéma inhérents aux environnements OLAP.

Lire plus
Développement

Un bug gênant dans la création de slots de réplication logique PostgreSQL, et comment nous l'avons corrigé

2025-07-15
Un bug gênant dans la création de slots de réplication logique PostgreSQL, et comment nous l'avons corrigé

L'équipe ClickPipes a rencontré un bug déroutant lors de la création de slots de réplication logique dans PostgreSQL : une requête qui aurait dû prendre quelques secondes prenait des heures et ne pouvait pas être interrompue. L'enquête a révélé un bug de Postgres où, sur les réplicas en lecture, la création d'un slot de réplication logique se bloquait dans une boucle de suspension longue en attendant que les transactions principales se terminent, rendant l'interruption impossible. L'équipe a soumis un correctif à la communauté Postgres en ajoutant une vérification d'interruption, résolvant ainsi efficacement le problème. Ce cas souligne comment même les systèmes de bases de données matures peuvent présenter des cas limites inattendus, et le rôle vital de la collaboration de la communauté open source pour les résoudre.

Lire plus
Développement Réplication logique

Plateforme d'observabilité 100 PB de ClickHouse Cloud : l'évolution de LogHouse

2025-06-21
Plateforme d'observabilité 100 PB de ClickHouse Cloud : l'évolution de LogHouse

En un an, la plateforme de journalisation interne de ClickHouse Cloud, LogHouse, est passée de 19 PiB à plus de 100 PiB, et le nombre de lignes est passé de 40 000 milliards à 500 000 milliards. Pour gérer une augmentation de 20 fois du volume d'événements, l'équipe LogHouse a développé SysEx, un exportateur personnalisé qui a réduit l'utilisation du processeur à moins de 10 % de la précédente exigence. SysEx copie les données directement à partir des tables système ClickHouse, contournant le goulot d'étranglement de l'analyse et de la marshalisation d'OpenTelemetry. Simultanément, LogHouse a intégré HyperDX, l'interface utilisateur d'observabilité native de ClickHouse, offrant une exploration, une corrélation et une analyse des causes profondes transparentes.

Lire plus
Technologie

ClickHouse lève 350 millions de dollars en série C pour alimenter les applications natives de l'IA

2025-05-29
ClickHouse lève 350 millions de dollars en série C pour alimenter les applications natives de l'IA

La base de données d'analyse en temps réel ClickHouse a annoncé un tour de financement de série C de 350 millions de dollars, portant son financement total à plus de 650 millions de dollars. Cet investissement permettra de stimuler le développement de produits, l'expansion mondiale et les partenariats soutenant la prochaine vague d'applications natives de l'IA. Le moteur de stockage colonnaire haute performance de ClickHouse permet des requêtes analytiques interactives sur des ensembles de données massifs avec une latence minimale, alimentant les applications d'IA/ML, l'analyse en temps réel, l'entreposage de données dans le cloud et les charges de travail d'observabilité. Avec une croissance annuelle de plus de 300 % et plus de 2 000 clients, dont Anthropic, Tesla et Mercado Libre, ClickHouse relève le défi de la construction de plates-formes de données en temps réel pour l'ère de l'IA, se positionnant comme le moteur par défaut des produits de données intelligents de nouvelle génération.

Lire plus
Technologie

Matérialisation paresseuse de ClickHouse : une accélération de 1500 x

2025-04-22
Matérialisation paresseuse de ClickHouse : une accélération de 1500 x

ClickHouse réalise une amélioration de vitesse de 1500x grâce à une nouvelle optimisation appelée « matérialisation paresseuse ». Cette technique retarde la lecture des données de colonne jusqu'à ce qu'elles soient réellement nécessaires, réduisant ainsi considérablement les E/S inutiles. L'article utilise l'ensemble de données des avis clients d'Amazon pour illustrer comment la matérialisation paresseuse, combinée à d'autres optimisations d'E/S telles que le stockage colonnaire, les index primaires clairsemés et PREWHERE, réduit le temps d'exécution d'une requête de 219 secondes à 139 millisecondes. La matérialisation paresseuse est particulièrement efficace pour les requêtes Top N, offrant des gains de performances significatifs sans modifier le SQL.

Lire plus

ClickHouse adopte Rust : Un parcours d'intégration difficile

2025-04-09
ClickHouse adopte Rust : Un parcours d'intégration difficile

ClickHouse, initialement écrit en C++, s'est lancé dans l'intégration de Rust pour attirer plus de développeurs et étendre ses fonctionnalités. L'article détaille ce processus, du choix initial de la fonction de hachage BLAKE3 comme projet pilote à l'intégration du langage de requête PRQL et de la bibliothèque Delta Lake. Le parcours a rencontré de nombreux défis, notamment l'intégration du système de build, la gestion de la mémoire, la gestion des erreurs et les problèmes de compilation croisée. Malgré des problèmes tels que des bugs dans les bibliothèques Rust, des noms de symboles excessivement longs et des problèmes d'interopérabilité avec le code C++, l'équipe ClickHouse a surmonté ces obstacles, intégrant avec succès Rust au projet et ouvrant la voie à de futurs développements.

Lire plus
Développement