DevLog

엔지니어링 블로그를 한 곳에서 탐색하고, 최근 발행 흐름을 빠르게 파악할 수 있는 서비스 입니다.

Quick Links

  • Latest Feed
  • Engineering Directory

Support

  • 소개
  • 개인정보처리방침

Contribute

  • 원하는 블로그 추가 (준비 중)
  • Feedback

© 2026 DevLog Inc. All rights reserved.

본 사이트는 공개 RSS 피드를 통해 콘텐츠를 수집하며, 모든 콘텐츠의 저작권은 원저작자에게 있습니다.

Back to Feed
Read Original

Contents

Continue Reading

  • More from 당근
#Backend

당근 200+개 DB 를 옮기는 ELT 플랫폼, DT Platform 을 만든 이야기

당근 200+개 DB 를 옮기는 ELT 플랫폼, DT Platform 을 만든 이야기
01

Summary

200개 DB 이사도 클릭 한 번으로! 당근의 노코드 데이터 플랫폼 'DT Platform' 개발기

지옥 같던 PR 리뷰에서 탈출하여 데이터 파이프라인 리드타임을 10분의 1로 줄인 비결

당근 규모의 방대한 서비스 데이터를 효율적으로 관리하기 위해 구축한 선언적 ELT 플랫폼의 탄생 과정을 다룹니다. 코드와 설정의 강결합 문제를 해결하고 AI 에이전트를 활용해 수백 개의 파이프라인을 자동 마이그레이션한 실전 전략과 아키텍처를 상세히 공유합니다.

  • 01설정과 코드를 완벽히 분리하여 노코드 UI 환경으로 전환
  • 02JSON DSL 기반의 선언적 파이프라인 구조 도입으로 운영 편의성 극대화
  • 03Claude Code와 Notion을 결합한 AI 에이전트로 203개 파이프라인 2주 만에 마이그레이션
  • 04파이프라인 변경 리드타임을 4.5일에서 0.4일로 90% 이상 단축
  • 05실행 현황 및 비용 가시화로 데이터 거버넌스 기반 마련

+RECOMMENDATION

수동으로 파이프라인을 관리하며 병목 현상을 겪고 있는 데이터 엔지니어링 팀이나, 도메인 팀에게 데이터 셀프서비스 환경을 제공하고자 하는 플랫폼 조직에 필독을 권장합니다.

The Problem

당근은 글로벌 서비스 전반의 200개 이상 DB 데이터를 BigQuery로 전송하고 있으나, 기존에는 파이프라인 설정과 실행 코드가 단일 레포지토리에 강하게 결합되어 있었습니다. 이로 인해 새로운 테이블을 추가할 때마다 코드베이스 학습과 PR 리뷰가 필수적이었으며, 데이터 팀의 리뷰 병목과 서비스 팀의 운영 부담이 심화되는 구조적 한계가 존재했습니다.

The Solution

기존의 Airflow와 Spark 실행 레이어는 유지하되 UI 기반으로 파이프라인을 선언할 수 있는 'DT Platform'을 구축하여 코드와 설정을 분리했습니다. 설정을 JSON DSL 형태로 S3에 저장하고 이를 통해 DAG을 동적으로 생성하는 구조를 도입했으며, Claude Code 에이전트와 Notion을 활용해 기존 203개의 파이프라인을 자동화된 스크립트로 2주 만에 성공적으로 마이그레이션했습니다.

The Result

파이프라인 추가 및 변경을 위한 평균 리드타임이 4.5일에서 0.4일로 약 91% 단축되었으며, 관련 요청 건수 또한 크게 증가하여 데이터 연동 허들이 낮아졌음을 확인했습니다. 또한 UI를 통해 파이프라인의 실행 상태와 비용 정보를 한눈에 파악할 수 있게 되어 정성적인 운영 효율성도 크게 개선되었습니다.

Trade-off

오픈소스 솔루션인 Airbyte 도입을 검토했으나 대규모 테이블의 동기화 속도 문제와 세밀한 Spark 리소스 튜닝의 한계로 인해 직접 플랫폼을 개발하는 결정을 내렸습니다. 이는 초기 개발 비용과 기존 파이프라인 마이그레이션을 위한 엔지니어링 공수가 투입되어야 함을 의미하지만 장기적인 확장성과 최적화 관점에서 선택되었습니다.

03

Key Concepts

Concept · 01

ELT (Extract, Load, Transform)

데이터 소스에서 데이터를 추출하여 목적지에 먼저 로드한 뒤 필요한 변환을 수행하는 프로세스입니다. 데이터 웨어하우스의 성능을 활용해 유연한 처리가 가능하다는 특징이 있습니다.

  • 당근의 서비스 DB에서 BigQuery로 데이터를 전송하는 기본 프로세스로 사용되었습니다.
Concept · 02

JSON DSL (Domain Specific Language)

특정 도메인의 문제를 해결하기 위해 최적화된 형식 언어로, 여기서는 파이프라인의 명세를 구조화된 JSON 데이터로 정의한 것을 의미합니다.

  • 파이프라인의 소스, 목적지, 필터링 규칙 등을 객체화하여 실행 코드로부터 설정을 분리하는 핵심 매개체입니다.
Concept · 03

Dynamic DAG Generation

Airflow에서 코드를 수동 작성하지 않고 설정 파일이나 DB 정보를 기반으로 실행 시점에 워크플로우를 자동으로 생성하는 기술입니다.

  • S3에 저장된 JSON DSL을 읽어와 200개 이상의 파이프라인을 위한 DAG을 별도 코드 수정 없이 생성합니다.
Continue reading · same source

당근More from 당근

View all posts from 당근
  • 당근의 인증은 어떻게 달라져 왔을까요?

    OAuth 2.0OIDCSSO
    1주 전
  • Laying the Rails Beyond WebView: Why Karrot Chose Lynx

    LynxWebViewPerformance
    2주 전
  • 웹뷰 다음의 레일을 깔다: 당근이 Lynx를 선택한 이유

    LynxReactQuickJS
    2주 전
  • 실험을 더 편하게 설계할 수 있게: 당근 실험플랫폼 이야기

    AB TestingData PlatformLLM Agent
    3주 전
  • 프론트엔드와 백엔드를 한 팀으로 합치면 어떤 일이 일어날까?

    Team TopologyCross FunctionalAI Coding
    1개월 전

Source

당근
당근
Engineering Blog

Published · June 4, 2026

Topics

ELTApache SparkApache AirflowBigQueryData Pipeline