핵심 요약
당근은 MongoDB CDC를 도입해 Flink CDC 기반 파이프라인으로 MongoDB 변경 데이터를 수집·변환·BigQuery 적재를 수행하고 2시간 SLO 달성을 목표로 스키마 변화에 안정적으로 대응하는 Two-Stage Table 아키텍처를 구현했습니다.
구현 방법
- MongoDB Change Stream을 Flink CDC로 구독하고 Exactly-Once 처리를 위한 체크포인트를 활용
- 초기 스냅샷은 Spark 기반 방식으로 데이터 로딩
- Stage 1 Raw(JSON) → Stage 2 Final 테이블로 스키마 변화에 따른 재구성 및 빠른 반영
주요 결과
- 2시간 SLO를 충족하도록 설계된 파이프라인으로 운영 복잡성 감소
- 스키마 변화 시 재처리 비용과 시간 대폭 감소(20분 이내)
- Consistency 검증(dual write) 및 자동 알림으로 2주간 데이터 일관성 유지 확인

