Passer au contenu principal
ClickHouse Managed Postgres est un Postgres de classe entreprise s’appuyant sur un stockage NVMe, offrant des performances jusqu’à 10 fois supérieures pour les charges de travail limitées par le disque par rapport à un stockage en réseau comme EBS. Ce guide de démarrage rapide est divisé en deux parties :
  • Partie 1 : Prise en main de NVMe Postgres et découverte de ses performances
  • Partie 2 : Exploitez l’analytique en temps réel grâce à l’intégration avec ClickHouse
Managed Postgres est actuellement disponible sur AWS dans plusieurs régions et est gratuit pendant la private preview. Dans ce guide de démarrage rapide, vous allez :
  • Créer une instance Managed Postgres avec les performances du NVMe
  • Charger 1 million d’événements d’exemple et constater la rapidité du NVMe
  • Exécuter des requêtes et profiter d’une faible latence
  • Répliquer les données vers ClickHouse pour l’analytique en temps réel
  • Interroger ClickHouse directement 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, puis cliquez sur Create service. Vous serez alors redirigé vers la page d’aperçu. Votre instance Managed Postgres sera provisionnée et prête à l’emploi en 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 paramètres 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 aussi utiliser n’importe quel client compatible Postgres, comme DBeaver, ou toute bibliothèque cliente.

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 du stockage NVMe. Agréger 1 million d’événements par type :
Requête avec filtrage JSONB et plage de dates :
Joignez les événements aux utilisateurs :
Votre Postgres est prêtÀ ce stade, vous disposez d’une base de données Postgres entièrement fonctionnelle, hautes performances, prête pour vos charges transactionnelles.Passez à la partie 2 pour voir comment l’intégration native à ClickHouse peut décupler vos capacités d’analytique.

Partie 2: Ajouter l’analytique en temps réel avec ClickHouse

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

Configurer l’intégration ClickHouse

Maintenant que nous avons des tables et des données dans Postgres, répliquons ces tables vers ClickHouse pour l’analytique. 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 n’avez pas encore d’instance ClickHouse, vous pouvez en créer une directement depuis ce formulaire.
ImportantAssurez-vous que le service ClickHouse que vous sélectionnez est en état Running avant de continuer.
Cliquez sur Next pour accéder au sélecteur de tables. Ici, il vous suffit de :
  • Sélectionner une base de données ClickHouse vers laquelle répliquer les données.
  • Développer le schéma public et sélectionner les tables users et events que nous avons créées précédemment.
  • Cliquer sur Replicate data to ClickHouse.
Le processus de réplication démarrera, et vous serez redirigé vers la page d’aperçu de l’intégration. Comme il s’agit de la première intégration, la mise en place 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 directement les données de ClickHouse depuis Postgres à l’aide du SQL standard. Votre application peut ainsi utiliser Postgres comme couche de requête unifiée pour les données transactionnelles et analytiques. Consultez la documentation complète pour en savoir plus. Activez l’extension :
Ensuite, créez une connexion de serveur distant vers ClickHouse. Utilisez le pilote http avec le port 8443 pour des connexions sécurisées :
Remplacez <clickhouse_cloud_host> par votre nom d’hôte de ClickHouse et <database_name> par la base de données que vous avez 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. Nous allons maintenant associer l’utilisateur Postgres aux identifiants du service ClickHouse :
Importez maintenant les tables de 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 maintenant voir toutes les tables ClickHouse dans votre client Postgres :

Voyez votre analytique en action

Revenons sur la page de l’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 voir vos tables répliquées.

Comparer les performances de Postgres et de ClickHouse

Exécutons maintenant quelques requêtes analytiques et comparons les performances de Postgres et de ClickHouse. Notez que les tables répliquées suivent la convention de nommage public_<table_name>. Requête 1 : utilisateurs les plus actifs Cette requête identifie les utilisateurs les plus actifs à l’aide de plusieurs agrégations :
Requête 2 : engagement des utilisateurs par pays et par plateforme Cette requête effectue une jointure entre les événements et les utilisateurs, puis calcule des 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 des requêtes analytiques complexes avec des JOIN et plusieurs agrégations. L’écart se creuse encore davantage à plus grande échelle (100M+ lignes), où le stockage en colonnes et l’exécution vectorisée de ClickHouse peuvent offrir des accélérations de 10 à 100x.Les temps de requête varient 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 démarrage rapide :
  1. Supprimez d’abord l’intégration ClickPipe du service ClickHouse.
  2. Supprimez ensuite l’instance Managed Postgres depuis la Cloud Console.
Dernière modification le 25 juin 2026