Passer au contenu principal
Voici la Partie 2 d’un guide sur la migration de PostgreSQL vers ClickHouse. À l’aide d’un exemple concret, il montre comment mener efficacement la migration avec une approche de réplication en temps réel (CDC). Bon nombre des concepts abordés s’appliquent également aux transferts manuels de gros volumes de données de PostgreSQL vers ClickHouse.
La plupart des requêtes SQL de votre environnement PostgreSQL devraient s’exécuter dans ClickHouse sans modification, et probablement plus rapidement.

Déduplication avec CDC

Lorsque vous utilisez la réplication en temps réel avec CDC, gardez à l’esprit que les mises à jour et les suppressions peuvent entraîner des lignes en double. Pour y remédier, vous pouvez utiliser des techniques reposant sur des vues et des vues matérialisées actualisables. Consultez ce guide pour découvrir comment migrer votre application de PostgreSQL vers ClickHouse le plus simplement possible à l’aide de la réplication en temps réel avec CDC.

Optimiser les requêtes dans ClickHouse

Même s’il est possible d’effectuer cette migration avec un minimum de réécriture des requêtes, il est recommandé de tirer parti des fonctionnalités de ClickHouse pour simplifier considérablement les requêtes et améliorer encore leurs performances. Les exemples ci-dessous couvrent des modèles de requêtes courants et montrent comment les optimiser avec ClickHouse. Ils utilisent l’intégralité du Stack Overflow dataset (jusqu’en avril 2024) sur des ressources équivalentes dans PostgreSQL et ClickHouse (8 cœurs, 32 GiB de RAM).
Par souci de simplicité, les requêtes ci-dessous n’utilisent pas de techniques de déduplication des données.
Les nombres indiqués ici différeront légèrement, car les données Postgres ne contiennent que les lignes qui respectent l’intégrité référentielle des clés étrangères. ClickHouse n’impose pas de telles contraintes et contient donc l’ensemble complet du dataset, par exemple avec les utilisateurs anonymes.
Utilisateurs (avec plus de 10 questions) qui reçoivent le plus de vues :
Quels tags ont le plus de vues :
Fonctions d’agrégation Dans la mesure du possible, exploitez les fonctions d’agrégation de ClickHouse. Ci-dessous, nous montrons comment utiliser la fonction argMax pour calculer la question la plus consultée de chaque année.
C’est nettement plus simple (et plus rapide) que la requête équivalente dans Postgres :
Expressions conditionnelles et tableaux Les fonctions conditionnelles et les fonctions sur les tableaux simplifient considérablement les requêtes. La requête suivante calcule les tags (avec plus de 10 000 occurrences) dont l’augmentation en pourcentage entre 2022 et 2023 est la plus forte. Remarquez à quel point la requête ClickHouse suivante est concise grâce aux expressions conditionnelles, aux fonctions sur les tableaux et à la possibilité de réutiliser des alias dans les clauses HAVING et SELECT.
Cliquez ici pour la 3e partie
Dernière modification le 25 juin 2026