목록 보기
당근 데이터 지도를 그리다: 컬럼 레벨 리니지 구축기
백엔드

당근 데이터 지도를 그리다: 컬럼 레벨 리니지 구축기

당근마켓
당근마켓
2025년 12월 4일

두줄요약

BigQuery 쿼리 로그를 SQL 파싱해 컬럼 레벨 리니지를 구축한 사례를 소개했습니다. 테이블·컬럼 의존 관계를 빠르게 추적해 데이터 신뢰성과 운영 효율을 높였습니다.

문제 상황

  • BigQuery 기반 데이터 파이프라인에서 테이블·컬럼 간 데이터 흐름과 의존 관계가 보이지 않는 상태
  • 파이프라인 실패나 스키마 변경 시 영향 범위 파악에 많은 시간 소요
  • 테이블 레벨 리니지만으로는 컬럼 단위 영향도와 PII 흐름 추적에 한계

원인 분석

  • 조직별로 생성되는 SQL 쿼리와 파이프라인이 분산되어 중앙 관리가 어려운 구조
  • BigQuery 기본 정보만으로는 컬럼 레벨 리니지와 View 기반 흐름 파악이 충분하지 않음
  • OpenLineage 방식은 다양한 실행 환경에 계측 도입 부담이 큼

해결 방법

  • BigQuery INFORMATION_SCHEMA.JOBS의 쿼리 로그를 수집해 SQL 파싱으로 리니지 추출
  • sqlglot로 AST를 분석하고 Spark·Airflow로 대량 처리 및 주기적 업데이트
  • 원본 Raw 테이블과 목적별 View로 분리해 조회·운영 효율 개선

성능/운영 포인트

  • 일 단위 자동 갱신으로 최신 쿼리 반영
  • 하루 약 1만 5천개 테이블, 80만 개 컬럼 의존 관계 추적
  • MCP Server로 몇 초 내 리니지 조회 지원

적용해볼 점

  • SQL 중심 데이터 환경에서는 쿼리 로그 기반 리니지 추출 검토
  • 원본 보존 후 목적별 View로 분리하는 데이터 모델링 적용
  • 완성형보다 점진적으로 커버리지를 넓히는 운영 방식 채택

댓글 0

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

댓글을 불러오는 중...