프로젝트 소개
PeerDB는 PostgreSQL로 데이터를 이동하고 PostgreSQL에서 데이터를 이동하는 데 중점을 둔 ETL/ELT 도구입니다. 여러 스트리밍 모드를 지원합니다: 로그 기반 CDC(권장되며 활발히 유지 관리됨), 타임스탬프 또는 정수를 사용하는 커서 기반 복제, XMIN 기반 복제. Query Replication(QRep) 및 XMIN 미러 유형은 더 이상 사용되지 않음(deprecated)으로 표시되어 있지만 여전히 작동합니다.
활발히 유지 관리되는 소스로 나열된 항목에는 Postgres, MySQL, MongoDB, CockroachDB 및 BigQuery가 포함됩니다. 활발히 유지 관리되는 대상은 ClickHouse, ClickHouse Cloud 및 Postgres입니다. 여러 대상 커넥터(S3, Snowflake, BigQuery, ElasticSearch, Kafka, Redpanda, Confluent, Azure Event Hubs, Google Pub/Sub)는 더 이상 사용되지 않지만 여전히 작동합니다. BigQuery는 소스로서 계속 지원됩니다.
두드러진 특징은 ETL을 위한 Postgres 호환 SQL 인터페이스로, 사용자가 익숙한 클라이언트 도구(psql, pgAdmin), BI 도구, 마이그레이션/버전 관리 도구, 그리고 Airflow와 같은 기존 스케줄러로 복제를 관리할 수 있습니다. 이 프로젝트는 Postgres 네이티브 최적화를 강조합니다: 병렬 초기 로드, TOAST 컬럼 처리, jsonb, 배열 및 지리공간 유형을 포함한 풍부한 데이터 유형 매핑, 스키마 변경 지원. 또한 상태 관리, 자동 재시도 및 멱등성 처리와 같은 내결함성 메커니즘과 메모리 부족 실패를 방지하기 위한 구성 가능한 배칭 및 병렬 처리도 설명합니다.
시작하기는 카탈로그로서의 Postgres, Temporal, PeerDB 서버, flow API 및 워커, 그리고 PeerDB UI를 위한 Docker 컨테이너를 실행하는 셸 스크립트를 통해 이루어집니다. 로컬 개발 경로는 이미지를 로컬에서 빌드하며 protobuf 생성을 위해 buf 컴파일러가 필요합니다. README는 ClickHouse가 Docker 외부에서 실행될 때 MinIO 스테이징 접근을 AWS_ENDPOINT_URL_S3 및 네트워크/보안 그룹 규칙을 통해 구성해야 한다고 명시합니다.
종단 간 테스트는 Tilt로 오케스트레이션된 Docker Compose를 통해 로컬에서 지원되며, Postgres, MySQL(GTID 및 파일 위치 변형), MariaDB 및 MongoDB에서 ClickHouse로의 테스트 런처가 있습니다. 데이터 저장소는 리소스를 절약하기 위해 수동 초기화를 사용하며, 명명된 볼륨은 Tilt UI의 정리 옵션과 함께 지속성을 제공합니다. PeerDB는 ClickHouse Cloud에서 네이티브로도 제공됩니다. 이 프로젝트는 AGPLv3에 따라 라이선스가 부여됩니다(README 배지는 Elv2를 참조하지만 라이선스 섹션은 AGPLv3를 명시합니다).
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.