À propos du projet
PeerDB est un outil ETL/ELT axé sur le déplacement de données vers et depuis PostgreSQL. Il prend en charge plusieurs modes de streaming : CDC basé sur les journaux (recommandé et activement maintenu), réplication basée sur curseur utilisant des horodatages ou des entiers, et réplication basée sur XMIN. Les types Query Replication (QRep) et miroir XMIN sont marqués comme obsolètes mais restent fonctionnels.
Les sources listées comme activement maintenues incluent Postgres, MySQL, MongoDB, CockroachDB et BigQuery. Les destinations activement maintenues sont ClickHouse, ClickHouse Cloud et Postgres. Plusieurs connecteurs de destination (S3, Snowflake, BigQuery, ElasticSearch, Kafka, Redpanda, Confluent, Azure Event Hubs, Google Pub/Sub) sont obsolètes mais toujours fonctionnels ; BigQuery reste pris en charge comme source.
Une caractéristique distinctive est une interface SQL compatible Postgres pour l'ETL, afin que les utilisateurs puissent gérer la réplication avec des outils clients familiers (psql, pgAdmin), des outils BI, des outils de migration/versioning et des planificateurs existants tels qu'Airflow. Le projet met l'accent sur les optimisations natives de Postgres : chargements initiaux parallèles, gestion des colonnes TOAST, mappage riche des types de données incluant jsonb, tableaux et types géospatiaux, et prise en charge des changements de schéma. Il décrit également des mécanismes de tolérance aux pannes tels que la gestion d'état, les nouvelles tentatives automatiques et la gestion de l'idempotence, ainsi qu'un traitement par lots et un parallélisme configurables pour éviter les échecs par manque de mémoire.
Le démarrage se fait via un script shell qui lance des conteneurs Docker pour Postgres comme catalogue, Temporal, le serveur PeerDB, l'API de flux et les workers, et l'interface PeerDB. Un parcours de développement local construit les images localement et nécessite le compilateur buf pour la génération de protobuf. Le README note que lorsque ClickHouse s'exécute en dehors de Docker, l'accès au staging MinIO doit être configuré via AWS_ENDPOINT_URL_S3 et des règles de réseau/groupes de sécurité.
Les tests de bout en bout sont pris en charge localement via Docker Compose orchestré par Tilt, avec des lanceurs de tests pour Postgres, MySQL (variantes GTID et file-position), MariaDB et MongoDB vers ClickHouse. Les magasins de données utilisent une initialisation manuelle pour économiser les ressources, et des volumes nommés assurent la persistance avec une option de nettoyage dans l'interface Tilt. PeerDB est également proposé nativement dans ClickHouse Cloud. Le projet est sous licence AGPLv3 (le badge du README fait référence à Elv2, tandis que la section licence indique AGPLv3).
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.