본문으로 이동
컬리의 BigQuery 도입기 - 2부
문서

컬리의 BigQuery 도입기 - 2부

허재진 · 컬리 · 컬리 기술 블로그

원본 보기

소개

컬리 데이터 파이프라인의 BigQuery 도입 결과 및 효과

AI 핵심 요약

기존 데이터 웨어하우스는 적재 스크립트가 느리고 삭제 변경을 반영하지 못해 원본과의 정합성 문제가 있었으며, 로그와 이력 데이터를 장기간 보관하기도 어려웠습니다. 컬리는 Oracle·Aurora의 CDC와 DocumentDB Change Stream을 AWS DMS와 Kafka로 전달하고, BigQuery Streaming API와 Cloud Composer(Airflow)의 MERGE 프로시저로 원본과 같은 상태의 테이블을 만드는 파이프라인을 구축했습니다. 비정형 데이터는 JSON 타입으로 원본 문서를 보존하면서 병합에 필요한 키와 변경 메타데이터를 추출해 스키마 변경 대응을 단순화했습니다. 도입 결과 적재 지연과 쿼리 응답 시간이 줄고 비용도 감소했으며, 프로젝트 분리·파티션 강제·슬롯 예약 등으로 성능과 비용을 함께 관리하는 방법을 확인했습니다.

  • CDC 로그에 변경 데이터뿐 아니라 DML 종류와 발생 시각을 함께 저장하면 원본 테이블 상태를 재구성할 수 있습니다.
  • BigQuery의 MERGE 문은 삽입·수정·삭제를 한 번에 반영해 별도 UPSERT 스크립트의 복잡성과 정합성 문제를 줄입니다.
  • 스키마가 유동적인 DocumentDB 데이터는 JSON 타입으로 원본 문서를 보존하고, 필요한 메타데이터만 추출해 처리할 수 있습니다.
  • 파이프라인과 조회 프로젝트를 분리하고 파티션 사용을 강제하면 자원 경합과 불필요한 데이터 스캔을 줄일 수 있습니다.
  • 사용량에 따라 슬롯 예약과 일일 스캔 한도를 조합해 비용을 관리할 수 있습니다.