WalShadow est un moteur de réplication natif pour ClickHouse Managed Postgres qui lit directement le journal d’écriture anticipée (WAL) de PostgreSQL. Il est optimisé pour une latency réduite et des workloads high-throughput, offrant un retard de réplication inférieur à la seconde entre Postgres et ClickHouse. Son développement est ouvert sur ClickHouse/walshadow.
WalShadow est l’une des deux méthodes de réplication proposées sous Sync to ClickHouse. L’autre, ClickPipes, est un pipeline de données fully managed. Optez pour WalShadow lorsque vous recherchez la latency la plus faible et l’overhead de réplication le plus réduit.
Lorsque WalShadow est disponible pour votre service, une bannière Private Preview s’affiche sur la page Overview. Cliquez sur Configure WalShadow pour démarrer.
Avant de poursuivre, assurez-vous que votre Postgres service est accessible depuis ClickHouse.
WalShadow se connecte directement à votre ClickHouse service de destination : vous aurez donc besoin d’un ClickHouse user et d’un password disposant de la permission de créer des databases et des tables.1
Sélectionner le moteur de réplication
Choisissez WalShadow comme moteur de réplication, puis cliquez sur Next.
2
Configurer le service de réplication
Renseignez les paramètres de réplication :
- ClickHouse service : sélectionnez un ClickHouse service existant ou créez-en un nouveau
- Postgres database : sélectionnez la source database à répliquer, ou créez-en une nouvelle
- Replication method : choisissez l’une des options suivantes :
- chargement initial + CDC : importer les données existantes et maintenir les tables à jour au fil des nouveaux changements (recommandé)
- chargement initial only : import unique des données existantes, sans mises à jour ultérieures
- CDC only : ignorer l’import initial et ne capturer que les nouveaux changements
3
Sélectionner les tables à répliquer
Choisissez une base de données de destination et sélectionnez les tables à répliquer :
- Base de données de destination : sélectionnez une base de données ClickHouse existante ou créez-en une nouvelle
- Tables : dépliez chaque schema et sélectionnez les tables une à une, ou activez Select all tables. Pour chaque table, vous pouvez personnaliser le Destination table name et ajuster les Column settings.
- ClickHouse user et ClickHouse password :
WalShadowse connecte directement au ClickHouse service de destination ; il lui faut donc des credentials disposant de la permission de créer la base de données et les tables cibles.
4
Surveiller WalShadow
Une fois la réplication démarrée,
WalShadow apparaît sur la page Sync to ClickHouse. Son statut reste Creating le temps que le pipeline soit provisionné et que l’chargement initial soit préparé.Une fois le provisionnement terminé, le statut passe à Running. La page affiche en temps réel les metrics de la réplication :- Status : l’état actuel du pipeline (par exemple,
Running) - Rows synced : le nombre total de rows répliquées vers ClickHouse
- Backfills pending : le nombre de tables encore en attente de leur chargement initial
- Retard : le volume de données WAL restant à appliquer
- Temps de retard : le retard actuel de la destination par rapport à Postgres
- Uptime : depuis combien de temps le pipeline fonctionne
- Last updated : date du dernier relevé des metrics
Points d’attention
Quelques points à noter tant queWalShadow est en Private Preview :
- Un seul
WalShadowpar service Postgres pour le moment. - Les opérations et des metrics plus détaillées figurent sur la roadmap.