
백엔드
컬리의 BigQuery 도입기 - 2부
두줄요약
BigQuery 도입으로 정형·비정형 데이터 파이프라인을 분리해 구축하고, CDC 기반 적재와 Merge Procedure로 원본 정합성을 맞췄습니다. 또한 데이터 레이크하우스화, 쿼리 성능 개선, 비용 절감 효과를 얻었습니다.
구조와 흐름
- RDBMS(Oracle, Aurora DB)용 정형 파이프라인과 DocumentDB용 비정형 파이프라인을 분리한 BigQuery 연동 구조
- 정형 데이터는 CDC 로그를 Kafka와 BigQuery Streaming API로 적재한 뒤 Airflow의 Merge Procedure로 Final 테이블 구성
- 비정형 데이터는 Change Stream을 JSON 타입으로 보관하고 동일한 Merge Procedure로 원본과 같은 상태의 테이블 구성
성능/운영 포인트
- 데이터 레이크하우스 형태로 이력, 마트, 대용량 로그를 저비용으로 장기 보관하는 저장소 역할 확보
- Merge 문 기반 적재로 UPSERT 스크립트보다 단순화되고, Delete 반영 문제를 해소하며 지연 시간 감소
- 파이프라인과 조회 프로젝트 분리, 파티션 사용 강제, 슬롯 예약과 스캔 제한으로 응답 시간과 비용 개선
