AI Briefing

컬리, BigQuery 도입으로 데이터 파이프라인 지연 및 복잡성 해결

·2023.02.07 10:00

핵심 내용

컬리가 BigQuery 도입으로 기존 데이터 웨어하우스의 지연 시간과 스토리지 문제를 해결했다.

자세히 보기

컬리는 사실과 데이터를 기반으로 한 의사결정을 위해 데이터의 적시 공급이 중요하다고 판단, BigQuery를 도입했다. 기존 Data Warehouse는 긴 지연시간, 스토리지 부족, 쿼리 응답 시간 지연, 복잡한 적재 과정 등 4가지 주요 문제를 안고 있었다.

기존 아키텍처는 Oracle과 Aurora DB에서 AWS DMS를 통해 Kafka로 CDC 로그를 전송하고, 이를 Amazon S3에 저장한 뒤 Airflow 스크립트로 웨어하우스에 적재하는 구조였다. 이 과정에서 소스 DB부터 적재까지의 병목 현상으로 인해 문제 원인 파악이 어려웠다.

BigQuery 도입 주안점

컬리는 이러한 문제를 해결하기 위해 다음과 같은 전략으로 BigQuery를 적용했다.

  • 지연 시간 개선: 기존 S3 저장 후 스크립트 실행 방식의 I/O 병목을 제거하고, BigQuery Streaming API를 이용해 Kafka에서 BigQuery로 직접 데이터를 적재했다.
  • 스토리지 관리: BigQuery의 사용량 기반 과금 구조를 활용하되, 테이블 파티션별 **TTL(Time To Live)**을 지정해 과도한 비용 발생을 방지했다.
  • 자원 격리: 데이터 파이프라인용 프로젝트와 데이터 조회용 프로젝트를 분리하여 자원 경합을 줄이고 쿼리 응답 시간을 개선했다.
  • 파이프라인 단순화: 복잡한 중간 저장 단계를 생략하고 Kafka에서 BigQuery로 바로 적재하는 구조로 전환했다.

비용 관리 전략

BigQuery는 스토리지 사용량과 데이터 스캔 용량에 따라 요금이 부과되므로 비용 관리가 필수적이다. 컬리는 데이터를 생성일자 단위로 파티셔닝하여 스캔 범위를 제한하고 비용을 절감했다. 또한, 한 프로젝트에는 **예약 슬롯(Slot)**을 구매하여 대용량 쿼리를 처리하고, 나머지 프로젝트는 제약 없이 사용하도록 분리하여 효율적인 자원 배분을 꾀했다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.