목표:
- AWS RDS PostgreSQL에서 AWS Redshift로 CDC 데이터를 전송
- S3를 중간 저장소로 사용 (어떤 파일 타입 사용할지)
- 테이블 생성, 업서트, 스키마 변경 등을 자동화
- 새로운 테이블이 생성될 때 자동으로 추가되도록 설정
- 테이블 리셋 기능
1. Debezium을 이용한 CDC 데이터 캡처
설정:
- Debezium Source Connector를 설정하여 AWS RDS PostgreSQL의 CDC 데이터를 캡처.
- Debezium은 AWS MSK(Kafka)에 변경 데이터를 스트리밍. (설정이 너무 많아서 어떤 설정을 사용해야되는지 확인해야함)
주요 포인트:
- PostgreSQL의 logical decoding을 활성화해야 함.
- Debezium Connector는 테이블의 변경 사항(INSERT, UPDATE, DELETE)을 캡처.
2. Kafka Connect를 이용하여 S3로 데이터 전송
설정:
- Kafka Connect S3 Sink Connector를 사용하여 MSK의 데이터를 S3 버킷에 저장.
- 데이터를 Parquet 또는 Avro 포맷으로 저장하여 효율성을 높임. (glue schema registry 사용할거면 어떤 포맷)
주요 포인트:
- 파티셔닝을 통해 S3에 저장되는 데이터를 구조화. (hourly)