Skip to main content
ClickHouse Managed Postgres est un service Postgres de qualité professionnelle reposant sur un stockage NVMe, offrant des performances jusqu’à 10 fois supérieures pour les charges de travail limitées par les entrées/sorties disque par rapport au stockage en réseau comme EBS. Ce guide de démarrage rapide est divisé en deux parties :
  • Partie 1 : Prenez en main Postgres sur NVMe et découvrez ses performances
  • Partie 2 : Débloquez l’analytique en temps réel en l’intégrant à ClickHouse
Managed Postgres est actuellement disponible sur AWS dans plusieurs régions et est en Public Beta.Dans ce guide de démarrage rapide, vous allez :
  • Créez une instance Managed Postgres avec des performances optimisées par le NVMe
  • Chargez 1 million d’événements d’exemple et observez la vitesse du NVMe
  • Exécutez des requêtes et bénéficiez de performances à faible latence
  • Répliquez les données vers ClickHouse pour l’analytique en temps réel
  • Interrogez directement ClickHouse depuis Postgres à l’aide de pg_clickhouse

Partie 1 : Premiers pas avec NVMe Postgres

Créer une base de données

Pour créer un nouveau service Managed Postgres, cliquez sur le bouton New service dans la liste des services de la Cloud Console. Vous pourrez ensuite sélectionner Postgres comme type de base de données.Saisissez un nom pour votre instance de base de données et cliquez sur Create service. Vous serez redirigé vers la page Overview.Votre instance Managed Postgres sera provisionnée et prête à l’emploi dans 3 à 5 minutes.

Connectez-vous à votre base de données

Dans la barre latérale gauche, vous verrez un bouton Connect. Cliquez dessus pour afficher vos informations de connexion et vos chaînes de connexion dans plusieurs formats.Copiez la chaîne de connexion psql et connectez-vous à votre base de données. Vous pouvez également utiliser n’importe quel client compatible Postgres tel que DBeaver, ou toute bibliothèque d’application.

Découvrez les performances du NVMe

Voyons concrètement les performances offertes par le NVMe. Commencez par activer le chronométrage dans psql pour mesurer le temps d’exécution des requêtes :
Créez deux tables d’exemple pour les événements et les utilisateurs :
Insérez maintenant 1 million d’événements et observez la vitesse du NVMe :
Performances du NVMe1 million de lignes avec des données JSONB insérées en moins de 4 secondes. Sur des bases de données cloud traditionnelles utilisant un stockage en réseau comme EBS, cette même opération prend généralement 2 à 3 fois plus de temps en raison de la latence des allers-retours réseau et de la limitation des IOPS. Le stockage NVMe élimine ces goulots d’étranglement en gardant le stockage physiquement rattaché aux ressources de calcul.Les performances varient selon la taille de l’instance, la charge actuelle et les caractéristiques des données.
Insérez 1 000 utilisateurs :

Exécuter des requêtes sur vos données

Exécutons maintenant quelques requêtes pour voir à quelle vitesse Postgres répond avec le stockage NVMe.Agrégez 1 million d’événements par type :
Requête avec filtrage JSONB et plage de dates :
Jointure des événements avec les utilisateurs :
Votre Postgres est prêtÀ ce stade, vous disposez d’une base de données Postgres entièrement fonctionnelle et performante, prête pour vos charges de travail transactionnelles.Passez à la Partie 2 pour découvrir comment l’intégration native de ClickHouse peut booster vos analyses.

Partie 2 : Ajoutez des analyses en temps réel avec ClickHouse

Tandis que Postgres excelle dans les charges de travail transactionnelles (OLTP), ClickHouse est conçu spécifiquement pour les requêtes analytiques (OLAP) sur de grands ensembles de données. En intégrant les deux, vous bénéficiez du meilleur des deux mondes :
  • Postgres pour les données transactionnelles de votre application (insertions, mises à jour, recherches par clé)
  • ClickHouse pour des analyses sur des milliards de lignes en moins d’une seconde
Cette section vous explique comment répliquer vos données Postgres vers ClickHouse et les interroger de manière transparente.

Configurer l’intégration ClickHouse

Maintenant que nous disposons de tables et de données dans Postgres, répliquons ces tables vers ClickHouse à des fins d’analytics. Commencez par cliquer sur ClickHouse integration dans la barre latérale. Vous pouvez ensuite cliquer sur Replicate data in ClickHouse.Dans le formulaire qui suit, vous pouvez saisir un nom pour votre intégration et sélectionner une instance ClickHouse existante vers laquelle répliquer les données. Si vous ne disposez pas encore d’une instance ClickHouse, vous pouvez en créer une directement depuis ce formulaire.
ImportantAssurez-vous que le service ClickHouse sélectionné est Running avant de poursuivre.
Cliquez sur Suivant pour accéder au sélecteur de tables. Vous n’avez qu’à :
  • Sélectionnez une base de données ClickHouse dans laquelle répliquer les données.
  • Développez le schéma public et sélectionnez les tables users et events que nous avons créées précédemment.
  • Cliquez sur Replicate data to ClickHouse.
Le processus de réplication va démarrer et vous serez redirigé vers la page de vue d’ensemble de l’intégration. S’agissant de la première intégration, la configuration de l’infrastructure initiale peut prendre 2 à 3 minutes. En attendant, découvrons la nouvelle extension pg_clickhouse.

Interroger ClickHouse depuis Postgres

L’extension pg_clickhouse vous permet d’interroger les données ClickHouse directement depuis Postgres en utilisant le SQL standard. Cela signifie que votre application peut utiliser Postgres comme couche de requête unifiée pour les données transactionnelles et analytiques. Consultez la documentation complète pour plus de détails.Activez l’extension :
Créez ensuite une connexion de serveur étranger vers ClickHouse. Utilisez le driver http avec le port 8443 pour les connexions sécurisées :
Remplacez <clickhouse_cloud_host> par le nom d’hôte de votre ClickHouse et <database_name> par la base de données sélectionnée lors de la configuration de la réplication. Vous trouverez le nom d’hôte dans votre service ClickHouse en cliquant sur Connect dans la barre latérale.À présent, associons l’utilisateur Postgres aux credentials du service ClickHouse :
Importez maintenant les tables ClickHouse dans un schéma Postgres :
Remplacez <database_name> par le même nom de base de données que celui utilisé lors de la création du serveur.Vous pouvez désormais voir toutes les tables ClickHouse dans votre client Postgres :

Visualisez vos analyses en action

Revenez à la page d’intégration. Vous devriez constater que la réplication initiale est terminée. Cliquez sur le nom de l’intégration pour afficher les détails.Cliquez sur le nom du service pour ouvrir la console ClickHouse et consulter vos tables répliquées.

Comparer les performances de Postgres et ClickHouse

Exécutons maintenant quelques requêtes analytiques et comparons les performances entre Postgres et ClickHouse. Notez que les tables répliquées utilisent la convention de nommage public_<table_name>.Requête 1 : Utilisateurs les plus actifsCette requête identifie les utilisateurs les plus actifs à l’aide de plusieurs agrégations :
Requête 2 : Engagement des utilisateurs par pays et par plateformeCette requête joint les événements aux utilisateurs et calcule les métriques d’engagement :
Comparaison des performances :
Quand utiliser ClickHouseMême sur ce jeu de données d’1 M de lignes, ClickHouse offre des performances 3 à 7 fois supérieures sur les requêtes analytiques complexes avec des JOINs et plusieurs agrégations. La différence devient encore plus spectaculaire à plus grande échelle (100 M+ de lignes), où le stockage en colonnes de ClickHouse et l’exécution vectorisée peuvent offrir des accélérations de 10 à 100 fois.Le temps d’exécution des requêtes varie en fonction de la taille de l’instance, de la latence réseau entre les services, des caractéristiques des données et de la charge actuelle.

Nettoyage

Pour supprimer les ressources créées dans ce guide de démarrage rapide :
  1. Commencez par supprimer l’intégration ClickPipe du service ClickHouse
  2. Supprimez ensuite l’instance Managed Postgres dans la Cloud Console
Dernière modification le 27 juillet 2026