
백엔드
밑바닥부터 시작하는 실시간 데이터 파이프라인 : Debezium 톺아보기
두줄요약
기존 배치 적재의 지연을 줄이기 위해 Debezium 기반 실시간 CDC 파이프라인을 구축한 과정을 정리했습니다. Kafka Connect 구조, 스냅샷, 오프셋 관리와 성능 개선 포인트까지 살펴보았습니다.
문제 상황
- 기존 일·시간 단위 배치 적재의 지연 문제
- 더 빠른 데이터 반영을 위한 실시간 데이터 파이프라인 필요
- Source와 Target 간 데이터 정합성 유지와 CDC 구축 과제
원인 분석
- 배치 중심 구조로는 변경 사항 반영 속도 한계
- CDC 처리 경로가 길어 지연 구간 식별이 어려움
- MySQL, Redshift 간 타입 차이로 전처리 필요
해결 방법
- 트랜잭션 로그(binlog, WAL) 기반 CDC 채택
- Debezium과 Kafka Connect로 변경 이벤트 스트리밍
- 스냅샷으로 초기 동기화 후 binlog로 지속 반영
성능/운영 포인트
- source.ts_ms, ts_ms, Producer timestamp 등 지표로 지연 구간 분석
- max.batch.size, max.queue.size, linger.ms, producer.override.batch.size 조정
- offset.storage.topic 기반 오프셋 기록으로 재시작 시 중복·유실 방지
적용해볼 점
- CDC 도입 전 초기 동기화와 오프셋 관리 설계 필요
- 커넥터 내부 동작과 타임스탬프 의미를 함께 이해할 필요
- 타입 변환이 필요한 경우 SMT 커스터마이징 고려
