목록 보기
컬리의 BigQuery 도입기 - 1부
백엔드

컬리의 BigQuery 도입기 - 1부

마켓컬리
마켓컬리
2023년 2월 7일

두줄요약

기존 데이터 파이프라인의 지연, 스토리지, 쿼리 경합, 복잡성 문제를 분석했습니다. BigQuery Streaming API와 프로젝트·파티션 분리로 개선 방향을 설계했습니다.

문제 상황

  • 기존 Data Warehouse의 최소 20분~최대 1시간 이상 데이터 지연
  • 증가하는 데이터에 따른 스토리지 부족과 주기적 데이터 삭제
  • 파이프라인과 분석 쿼리의 자원 경쟁으로 인한 응답 지연

구조와 흐름

  • Oracle·Aurora DB·DocumentDB의 CDC 로그를 AWS DMS로 Kafka Topic에 전송
  • Kafka 데이터를 Amazon S3의 일자 파티션 JSON으로 저장 후 Airflow Pod 스크립트로 Data Warehouse 적재
  • 다단계 적재 구조로 장애 발생 구간 추적과 원인 파악의 어려움

해결 방법

  • Kafka Topic에서 BigQuery Streaming API로 직접 적재해 S3 읽기 I/O와 적재 단계 축소
  • 데이터 파이프라인용 프로젝트와 조회용 프로젝트 분리로 쿼리 자원 경쟁 완화
  • 스토리지 사용량 기반 과금에 맞춘 테이블 파티션별 보관 기간 설정

성능/운영 포인트

  • 생성일자 기준 파티션으로 데이터 생명주기와 스캔 범위 관리
  • Where 절의 파티션 범위 지정 강제로 불필요한 데이터 스캔 방지
  • 예약 슬롯 프로젝트와 일일 스캔 용량 제한 프로젝트의 분리 운영

컬리 계열사 채용12건

채용 사이트에서 전체 보기

다음 읽기

#BigQuery 주제를 이어서 읽기

컬리의 BigQuery 도입기 - 1부

기존 데이터 파이프라인의 지연과 복잡성을 줄이기 위해 컬리가 BigQuery 도입 배경과 주안점을 정리했습니다. 스트리밍 적재, 파티션 관리, 프로젝트 분리로 성능과 비용을 함께 고려했습니다.

마켓컬리
마켓컬리
백엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...