2025년 dbt와 Airflow: 데이터 파워하우스가 엔지니어링을 재정의하는 이유

발행: (2025년 12월 22일 오전 12:41 GMT+9)
21 분 소요
원문: Dev.to

It looks like only the source line was provided. Could you please share the full text you’d like translated into Korean? I’ll keep the source line exactly as‑is and translate the rest while preserving all formatting.

Overview

데이터 엔지니어링 분야는 끊임없는 혁신의 물결이며, 2025년을 마무리하면서 dbtApache Airflow 같은 기본 도구들이 단순히 따라가는 수준이 아니라 실제로 흐름을 형성하고 있다는 것이 명확해졌습니다. 최신 버전을 직접 테스트해 본 결과, 마케팅 과장을 배제하고 실제로 무엇이 변했는지, 무엇이 잘 작동하는지, 그리고 아직 개선이 필요한 부분이 어디인지에 대한 실용적이고 깊이 있는 기술 분석을 제공합니다.

2024년 말부터 2025년에 이르는 이야기는 두 플랫폼 모두 효율성, 확장성, 그리고 개발자 경험을 향한 큰 성숙을 보여줍니다.

Source:

dbt – SQL 템플릿에서 풀‑피처 데이터 제어 평면으로

Fusion Engine (Beta – 2025년 5월)

  • 무엇인가: Snowflake, BigQuery, Databricks용으로 처음 출시된 dbt 핵심 엔진의 근본적인 재작성.
  • 핵심 약속:
    • “놀라운 속도”
    • 비용 절감 도구
    • 포괄적인 SQL 언어 툴링
  • 초기 성능 수치:
    • state‑aware orchestration(현재 프리뷰)만 활성화해도 컴퓨팅 비용이 약 10 % 감소, 이는 변경된 모델만 실행함.
    • 일부 테스트 사용자는 > 50 % 전체 비용 절감을 보고(튜닝된 설정 사용).

왜 중요한가

  • 서브초 파싱 시간.
  • 웨어하우스를 호출하지 않고도 지능형 SQL 자동완성 및 오류 감지.
  • 계산 부하의 상당 부분을 웨어하우스에서 dbt 플랫폼 자체로 옮겨 개발자 속도를 높이고 클라우드 비용을 감소시킴.

Note: Fusion은 아직 베타 단계이지만, 속도와 비용에 미치는 영향은 상당함.

Core 릴리스 (2024 말 – 2025)

릴리스하이라이트
dbt Core 1.9 (2024 12월)• 마이크로배치 인크리멘탈 전략
• YAML에서 스냅샷 구성
• 사용자 정의 메타데이터를 위한 snapshot_meta_column_names
dbt Core 1.10 (Beta – 2025 6월)• 샘플 모드 – 개발/CI용 데이터 서브셋 실행(비용 제어, 빠른 반복)
dbt Core 1.11 (2025 12월)• 지속적인 개선 및 안정성 향상

마이크로배치 인크리멘탈 – 실전 예시

문제: 대규모 시계열 테이블에 대한 인크리멘탈 모델은 쿼리 시간 제한에 걸리거나 관리가 어려워짐.

해결책: 새로운 마이크로배치 전략은 큰 인크리멘탈 로드를 더 작고 병렬 처리 가능한 윈도우로 나눔.

-- models/marts/fct_daily_user_activity.sql
{{
  config(
    materialized='incremental',
    incremental_strategy='microbatch',
    event_time='event_timestamp',   -- 배치에 사용할 컬럼
    batch_size='1 day',             -- 1일 단위 청크로 처리
    lookback='7 days'               -- 늦게 도착하는 데이터를 위해 7일 회귀 포함
  )
}}

SELECT
    user_id,
    DATE(event_timestamp) AS activity_date,
    COUNT(*) AS daily_events
FROM {{ ref('stg_events') }}
WHERE event_timestamp >= {{ var('start_date') }}   -- dbt가 배치별 필터 자동 생성
GROUP BY 1, 2

작동 방식

  1. dbt runevent_time 범위 내 batch_size 윈도우마다 독립적인 SQL 쿼리로 로드를 자동 분할.
  2. 쿼리는 종종 병렬로 실행되어 장시간 타임아웃 위험을 크게 감소시킴.
  3. 배치가 실패하면 dbt retry를 사용해 해당 배치만 재시도하거나 --event-time-start / --event-time-end 옵션으로 특정 윈도우를 타깃팅 가능.

관찰된 효과 – 내부 테스트에서, 고볼륨 이벤트 테이블은 적절히 구성했을 때 평균 인크리멘탈 모델 실행 시간이 20‑30 % 감소함.

dbt 시맨틱 레이어 – 2024‑2025년 성숙

시맨틱 레이어는 초기 개념에서 ‘메트릭 혼란’에 대한 실용적인 솔루션으로 발전했으며, 다양한 소비 도구 전반에 걸쳐 일관되고 관리된 메트릭을 제공합니다.

주요 개발

기능출시 / 일정영향
새 사양 및 구성 요소2024년 9월시맨틱 모델, 메트릭, 엔터티를 도입했습니다; MetricFlow는 관계를 추론하고 더 스마트한 쿼리를 구성할 수 있습니다.
선언적 캐싱2024‑2025 (팀/엔터프라이즈)일반적인 쿼리를 캐시하여 성능을 향상하고 자주 액세스되는 메트릭에 대한 컴퓨팅 비용을 절감합니다.
Python SDK (GA)2024dbt-sl-sdk는 시맨틱 레이어에 프로그래밍 방식으로 접근할 수 있게 하며, 하위 Python 도구가 메트릭과 차원을 직접 쿼리할 수 있도록 합니다.
AI 통합 (dbt Copilot / Agents)2024‑2025AI 기반 어시스턴트가 시맨틱 레이어 컨텍스트를 활용해 모델을 생성하고, 로직을 검증하며, 정의를 설명함으로써 데이터 준비 작업량을 줄입니다.

Analogy: OpenAI의 진화하는 API가 개발자와 AI 간의 상호작용을 재구성하는 것처럼, dbt의 AI 통합은 시맨틱 레이어를 데이터 팀을 위한 일류 대화형 인터페이스로 만들고자 합니다.

핵심 요약

  • Fusion Engine: 새로운 속도와 비용 패러다임을 약속하며, 무거운 파싱 작업을 웨어하우스에서 분리합니다.
  • Microbatch Incremental: 대규모 시계열 파이프라인에 실질적인 이점을 제공하며, 실행 시간을 최대 30 % 단축하고 복원력을 향상시킵니다.
  • Semantic Layer: 프로덕션 수준의 관리형 메트릭 허브가 되었으며, 이제 캐싱, Python SDK, AI 어시스턴트가 추가되었습니다.

These advances collectively push dbt from a “SQL‑templating tool” toward a full‑stack data control plane that rivals traditional orchestration platforms in both developer experience and operational efficiency. As we head into 2026, the real question will be how quickly organizations can adopt these capabilities and translate the promised savings into measurable business value.

dbt 업데이트 (2024‑2025)

주요 하이라이트

  • Expanded IntegrationsTrinoPostgres 같은 데이터 플랫폼 및 BI 도구 SigmaTableau에 대한 새로운 지원이 추가되어 dbt의 적용 범위가 확대되었습니다.
  • Semantic Layer – 버전‑관리된 YAML에 메트릭 정의를 중앙 집중화하고 API를 통해 노출합니다.
    • BI 도구가 SQL을 다시 작성하는 대신 정의된 메트릭을 호출하므로 일관성을 보장하고 특수 SQL 지식에 대한 의존도를 낮춥니다.
  • Fusion Engine – 대부분의 어댑터에 대해 베타 상태입니다.
    • 기존 프로젝트를 마이그레이션하거나 프로덕션에서 사용하려면 신중한 테스트가 필요합니다; 성능 향상은 프로젝트 복잡도와 웨어하우스 환경에 따라 다릅니다.
  • dbt Mesh – 2023년 말에 미리 보기로 시작해 2024‑2025년에 핵심 기능이 추가되었습니다.
    • 양방향 의존성(2024) 도입으로 도메인 팀이 고정된 허브‑앤‑스포크 모델 없이 데이터 제품을 소유하고 기여할 수 있게 되었습니다.
    • Fusion과 연계된 “상태 인식 오케스트레이션”은 아직 미리 보기 단계이므로 완전한 메쉬 구현은 계속 발전 중입니다.
  • Apache Iceberg Catalog IntegrationSnowflakeBigQuery(2025년 말)에서 사용 가능해졌습니다.
    • 오픈 테이블 포맷을 활용해 dbt Mesh가 플랫폼 간에 상호 운용성을 갖게 되어 데이터 제품의 미래 대비가 강화됩니다.

혜택 및 주의사항 요약

기능가치고려 사항
Semantic Layer여러 BI 도구에서 일관되고 재사용 가능한 메트릭 제공강력한 데이터 모델링 관행 및 중앙 메트릭 정의 거버넌스 필요
Fusion Engine잠재적인 성능 향상아직 베타 단계; 프로덕션 사용 전 충분한 테스트 필요
dbt Mesh메쉬 원칙에 맞는 분산형 데이터 아키텍처전체 오케스트레이션 기능이 아직 미리 보기 단계
Iceberg Integration오픈 포맷을 통한 상호 운용성 및 장기적 유연성카탈로그 구성 변경이 필요할 수 있음

Apache Airflow 업데이트 (2024‑2025)

Airflow 3.0 – 2025년 4월 출시

오래된 확장성 및 개발자 경험 문제를 해결하는 대규모 재구성.

기능설명
Event‑Based Triggers파일 도착, DB 업데이트 등 이벤트 기반 스케줄링을 기본 지원합니다. 실시간에 가까운 오케스트레이션을 가능하게 하고 유휴 컴퓨팅 시간을 줄입니다.
Workflow (DAG) Versioning각 실행에 연결된 DAG 정의의 불변 스냅샷을 제공합니다. 디버깅, 추적성 및 감사성을 향상시켜 규제 환경에서 필수적입니다.
New React‑Based UIReact로 구축된 전면 개편 UI와 새로운 REST API를 제공합니다. 보다 직관적이고 반응형이며 자산 중심적입니다. 다크 모드(2.10에 추가, 2024년 8월)는 계속 지원됩니다.
Task SDK DecouplingTask SDK가 코어와 분리되어 독립적인 업그레이드와 언어에 구애받지 않는 작업이 가능해졌습니다. 현재 Python SDK가 제공되며, Golang 등은 추후 지원 예정입니다.
Performance & Scalability최적화된 스케줄러가 지연 시간을 줄이고 작업 실행 피드백을 가속화합니다. 관리형 제공업체(예: Astronomer)는 스마트 자동 확장을 통해 약 2배의 성능 향상 및 비용 절감을 보고했습니다.

3.0 이전 기반

Airflow 2.9 (2024년 4월) – 데이터셋 인식 스케줄링

  • DAG는 시간뿐만 아니라 특정 데이터셋의 준비 상태에 따라 트리거될 수 있습니다.
  • OR 논리와 데이터셋‑시간 혼합 조건을 지원합니다(예: “오전 1시 AND 데이터셋 1이 준비됨”).
  • 복잡한 ExternalTaskSensor 패턴에 대한 의존성을 줄여 모듈식 DAG 설계를 촉진합니다.

Airflow 2.10 (2024년 8월) – 향상된 가시성 및 TaskFlow API

  • 스케줄러, 트리거러, 실행기 및 DAG 실행에 대한 OpenTelemetry 트레이싱을 제공하여 기존 메트릭을 보완합니다.
  • 파이프라인 성능 및 병목 현상에 대한 보다 풍부한 인사이트를 제공하여 대규모 배포에 필수적입니다.
  • TaskFlow API 향상 – 새로운 @skip_if@run_if 데코레이터가 조건부 작업 실행을 단순화합니다.

최신 Airflow 및 dbt 개선 사항

Airflow 하이라이트

  • XComs to Cloud Storage (2.9) – XCom이 메타데이터 데이터베이스 대신 클라우드 스토리지를 사용하도록 하여, DB에 부담을 주지 않고 작업 간에 더 큰 데이터를 전송할 수 있습니다.
  • Airflow 3.0 채택 – 많은 새로운 기능을 포함한 주요 릴리스입니다. 문서가 아직 따라잡고 있으며, 자체 호스팅 배포는 “투박하게” 느껴질 수 있습니다. 특히 복잡한 환경에서는 마이그레이션 경로를 계획하세요.
  • Task SDK – 실행을 Python에서 분리하여 다중 언어 DAG를 가능하게 합니다. 전체 비전은 아직 진행 중이며, 현재 대부분의 프로덕션 DAG는 Python 중심으로 유지될 것입니다.
  • 이벤트 기반 스케줄링 – 사고 방식의 전환과 데이터셋 이벤트를 발생시키는 새로운 인프라가 필요할 수 있습니다. 강력하지만 신중한 통합이 필요합니다.

dbt와 Airflow 통합

dbtAirflow의 통합은 현대 데이터 엔지니어링의 핵심 요소입니다. Airflow는 오케스트레이션(API 호출, ML 학습 등)에 강점이 있으며, dbt는 SQL 기반 변환을 위한 견고한 프레임워크를 제공합니다.

  • Astronomer Cosmos – dbt 모델을 네이티브 Airflow 작업 또는 작업 그룹으로 변환하는 오픈소스 라이브러리로, 재시도와 알림 기능을 포함합니다. Airflow UI에서 dbt 실행을 세밀하게 관찰할 수 있어 과거의 “단일 불투명 작업” 문제를 해결합니다.
    • 지난 1.5년 동안: 월 30만 건 이상의 다운로드, 강력한 커뮤니티 채택을 나타냅니다.

향상된 오케스트레이션 패턴

  • SYSTEM$get_dbt_log() – 정밀한 오류 처리와 알림을 위해 상세한 dbt 오류 로그에 접근합니다.

실용 예시: 데이터셋 인식 스케줄링을 활용한 dbt 마이크로‑배치 모델 오케스트레이션

아래는 Cosmos를 사용하여 새로운 raw‑events 데이터셋이 S3에 도착할 때마다 dbt 모델을 실행하는 전체 Airflow DAG입니다.

# my_airflow_dag.py
from airflow.decorators import dag, task
from airflow.utils.dates import days_ago
from airflow.datasets import Dataset
from cosmos.providers.dbt.task_group import DbtTaskGroup

# Dataset representing the output of raw data ingestion.
# Updated by an upstream ingestion DAG.
RAW_EVENTS_DATASET = Dataset(
    "s3://my-bucket/raw_events_landing_zone/{{ ds_nodash }}"
)

@dag(
    dag_id="dbt_microbatch_pipeline",
    start_date=days_ago(1),
    schedule=[RAW_EVENTS_DATASET],   # Trigger when new raw events land
    catchup=False,
    tags=["dbt", "data_aware", "microbatch"],
)
def dbt_microbatch_pipeline():

    @task
    def check_data_quality_before_dbt():
        """Quick data‑quality checks on RAW_EVENTS_DATASET."""
        print("Running pre‑dbt data quality checks...")
        # Example checks: row count, schema conformity
        if some_quality_check_fails:   # > refresh_dashboard
            raise ValueError("Data quality check failed")

    # Define the dbt task group (placeholder – configure as needed)
    dbt_tasks = DbtTaskGroup(
        group_id="dbt_transform",
        project_dir="/path/to/dbt/project",
        models=["fct_daily_user_activity"],
    )

    check_data_quality_before_dbt() >> dbt_tasks

# Instantiate the DAG.
dbt_microbatch_pipeline()

실행 흐름

graph TD
    A[Raw Events Land (Dataset Trigger)] --> B{Pre‑dbt Data Quality Check}
    B -- Pass --> C[dbt Transformations (Cosmos DbtTaskGroup)]
    C --> D[Refresh BI Dashboard]
    B -- Fail --> E[Alert & Stop]

더 넓은 트렌드

  • dbt Fusion Engine & Micro‑batching (Core 1.9) – 원시 컴퓨팅 문제를 해결하고 개발자 반복 속도를 높입니다.

  • Semantic Layer – 메트릭 일관성과 데이터 민주화를 향상시킵니다.

  • dbt Mesh + Iceberg Integration – 진정한 분산 데이터 아키텍처로 나아갑니다.

  • Airflow 3.0 – 이벤트 기반 패러다임, 네이티브 DAG 버전 관리, 현대적인 UI로 전환하는 획기적인 릴리스입니다.

  • Airflow 2.9 / 2.10 – 점진적인 개선(데이터셋 인식 스케줄링, 가시성)이 3.0 대대적 개편의 기반을 마련했습니다.

두 생태계는 빠르게 진화하고 있습니다; 이러한 최신 발전을 따라잡으면 팀이 보다 견고하고 성능이 뛰어나며 개발자 친화적인 데이터 파이프라인을 구축하는 데 도움이 됩니다.

Source:

현실 점검

dbt FusionAirflow 3.0의 확장된 기능과 같은 초기 베타 버전은 신중한 평가와 단계적 도입이 필요합니다. 문서는 점점 개선되고 있지만, 종종 최첨단 혁신보다 뒤처지는 경우가 있습니다. 그러나 흐름은 명확합니다: 보다 효율적이고 관찰 가능하며 적응력이 뛰어난 데이터 스택이 등장하고 있습니다.

데이터 엔지니어에게 이는 회복력 있고 확장 가능한 파이프라인을 구축할 수 있는 강력한 도구를 의미하며, 운영 오버헤드에서 벗어나 고품질의 신뢰할 수 있는 데이터 제품을 제공하는 데 집중할 수 있게 해줍니다. 여정은 계속되고 있으며, 이 분야에서 구축하는 것은 매우 흥미로운 시기입니다.


출처


관련 DataFormatHub 도구

  • CSV to SQL – CSV 데이터에서 SQL 생성
  • JSON to CSV – JSON을 표 형식으로 변환
  • AWS Lambda & S3 Express One Zone – 2025년 re:Invent 2023 심층 탐구
  • GitHub Actions & Codespaces – 왜 2025년인가
  • AI Coding Assistants in 2025 – 복잡한 작업에서 여전히 실패하는 이유

이 글은 원래 DataFormatHub에 게재된 것으로, 데이터 포맷 및 개발자 도구 인사이트를 위한 최고의 리소스입니다.

Back to Blog

관련 글

더 보기 »