핵심 인사이트 (3줄 요약)

  1. 메달리온 아키텍처(Medallion Architecture)는 Databricks가 제시한 Delta Lake 기반 Bronze→Silver→Gold 3계층 데이터 파이프라인 설계 표준으로, 각 계층이 점진적으로 데이터 품질을 높인다.
  2. AutoLoaderCOPY INTO로 Bronze 계층에 증분 적재하고, MERGE INTO로 Silver의 SCD (Slowly Changing Dimension) 이력을 관리하며, dbt나 Spark SQL로 Gold 집계 테이블을 선언적으로 생성한다.
  3. Delta Live Tables (DLT)를 활용하면 Bronze→Silver→Gold 전 파이프라인을 의존성 그래프 기반으로 선언하고, 데이터 품질 기대값(Expectations)을 코드로 관리할 수 있다.

Ⅰ. 개요 및 필요성

Multi-Tier Architecture(009)가 개념적 설계 원칙이라면, 메달리온 아키텍처는 이를 Delta Lake 위에 구현한 Databricks 공식 패턴이다. Medallion이라는 이름은 Bronze→Silver→Gold가 올림픽 메달처럼 품질이 높아진다는 비유에서 유래했다.

핵심 차별점은 Delta Lake의 ACID 트랜잭션, 타임 트래블, 스키마 진화 기능을 활용하여 각 계층 간 데이터 이동을 신뢰성 있게 처리한다는 점이다. 기존 Hadoop 기반 레이크에서는 파이프라인 중간 실패 시 오염된 데이터가 남아있어 재처리가 복잡했으나, Delta Lake는 원자적 커밋으로 이 문제를 해결한다.

구분개념Databricks 구현
Bronze원시 데이터 보존AutoLoader + Delta append-only
Silver정제·조인·이력MERGE INTO + SCD Type 2
Gold집계·KPISpark SQL + dbt + DLT
오케스트레이션계층 간 의존성Databricks Workflows / DLT

📢 섹션 요약 비유: 메달리온은 올림픽 선발 과정이다. 지역 예선(Bronze)→전국 선발전(Silver)→국가 대표 확정(Gold) 순으로 점진적으로 검증된 선수(데이터)만 최종 무대에 선다.


Ⅱ. 아키텍처 및 핵심 원리

┌──────────────────────────────────────────────────────────────────┐
│              Medallion Architecture (Databricks 구현)             │
├──────────────────────────────────────────────────────────────────┤
│                                                                  │
│  ┌──────────────┐   AutoLoader / COPY INTO                       │
│  │  원본 소스    │ ──────────────────────────▶ 🥉 BRONZE           │
│  │  (S3 Raw)   │                              Delta Table        │
│  └──────────────┘                             - 스키마: 원본 그대로│
│                                               - 파티션: 적재 날짜  │
│                                               - 모드: append-only │
│                                                      │           │
│                              MERGE INTO (upsert)     │           │
│                              + SCD Type 2 변환        │           │
│                                                      ▼           │
│                                              🥈 SILVER           │
│                                              Delta Table         │
│                                              - 중복 제거          │
│                                              - null 처리          │
│                                              - 비즈니스 키 정의    │
│                                              - 품질 기대값 검사    │
│                                                      │           │
│                              Spark SQL / dbt 집계    │           │
│                                                      ▼           │
│                                              🥇 GOLD             │
│                                              Delta Table         │
│                                              - 일별/월별 집계     │
│                                              - Star 스키마        │
│                                              - BI 최적화 파티션   │
│                                                      │           │
│                                          [Power BI / Tableau /   │
│                                           Databricks SQL]        │
└──────────────────────────────────────────────────────────────────┘

Databricks 구현 도구 매핑

계층핵심 도구명령/기능
Bronze 수집AutoLoadercloudFiles 소스, 자동 스키마 추론
Bronze 수집 (배치)COPY INTO멱등성 보장 파일 적재
Silver 변환MERGE INTOupsert + SCD Type 2
품질 검사DLT Expectations@dlt.expect, @dlt.expect_or_drop
Gold 집계dbt / Spark SQL선언적 SQL 변환
파이프라인 관리Delta Live Tables의존성 자동 해결, 재처리 지원

📢 섹션 요약 비유: AutoLoader는 우체통처럼 새 편지가 오면 자동으로 감지해서 Bronze 서랍에 넣어준다. DLT는 편지 분류 시스템으로 Bronze→Silver→Gold 경로를 자동으로 처리한다.


Ⅲ. 비교 및 연결

AutoLoader vs COPY INTO 비교

항목AutoLoaderCOPY INTO
처리 방식스트리밍 (신규 파일 자동 감지)배치 (명시적 실행)
멱등성처리된 파일 자동 추적기본 멱등성 보장
스케일수백만 파일 처리 가능수천 파일 적합
스키마 추론자동 (컬럼 추가 시 진화)수동 지정
사용 시점지속적 스트리밍 파이프라인일회성/주기적 배치

DLT (Delta Live Tables) 특징

  • 선언적 파이프라인: @dlt.table 데코레이터로 의존성 자동 해결
  • 품질 기대값: @dlt.expect_or_drop("valid_price", "price > 0") 형태로 품질 규칙 코드화
  • 증분 처리 자동화: STREAMING TABLE로 선언 시 AutoLoader 기반 증분 처리 자동 구성
  • 변경 데이터 캡처: APPLY CHANGES INTO로 CDC 스트림을 SCD 테이블로 변환

📢 섹션 요약 비유: DLT는 조립 라인 로봇과 같다. 각 공정(Bronze/Silver/Gold)을 담당하는 로봇이 이전 공정 완료 신호를 받으면 자동으로 작동하고, 불량품(품질 기대값 실패)은 자동으로 제거된다.


Ⅳ. 실무 적용 및 기술사 판단

Silver 계층 SCD Type 2 구현 패턴

MERGE INTO silver.customers AS target
USING bronze.customers_cdc AS source
ON target.customer_id = source.customer_id
  AND target.is_current = true
WHEN MATCHED AND source.updated_at > target.valid_from THEN
  UPDATE SET is_current = false, valid_to = source.updated_at
WHEN NOT MATCHED THEN
  INSERT (customer_id, name, email, valid_from, valid_to, is_current)
  VALUES (source.customer_id, source.name, source.email,
          source.updated_at, '9999-12-31', true)

기술사 답안 포인트

질문핵심 답변
Medallion과 Multi-Tier 차이Medallion = Delta Lake 기반 구현 표준, Multi-Tier = 일반 설계 원칙
AutoLoader 동작 원리S3/ADLS 이벤트 알림 구독 → 신규 파일 자동 감지 → Delta append
DLT Expectations 역할품질 규칙 코드화 → 위반 시 격리/드롭/경고 중 선택 가능
Gold 파티션 전략쿼리 필터 기준 컬럼(date, region) 파티션 + Z-ORDER 적용

📢 섹션 요약 비유: Medallion Architecture는 IKEA 조립 설명서와 같다. Delta Lake라는 표준 부품과 AutoLoader·DLT라는 전동 드라이버를 써서 누구나 같은 결과물을 만들 수 있다.


Ⅴ. 기대효과 및 결론

효과내용
표준화Databricks 사용 조직 간 코드·아키텍처 재사용
신뢰성Delta ACID로 파이프라인 실패 시 오염 없음
품질 가시성DLT Expectations 대시보드로 계층별 품질 지표 실시간 모니터링
운영 효율AutoLoader 자동 스케일링으로 파일 수 증가에도 무중단 운영

메달리온 아키텍처는 Databricks 플랫폼의 베스트 프랙티스로 공식화되었으며, 비 Databricks 환경에서도 동일한 원칙을 Apache Spark + Iceberg/Hudi로 구현하는 사례가 늘고 있다. 기술사 시험에서는 AutoLoader vs COPY INTO 차이, SCD Type 2 MERGE 패턴, DLT Expectations 품질 관리가 핵심 논점이다.

📢 섹션 요약 비유: 메달리온은 데이터의 올림픽 선발 시스템이다. 지역(Bronze)에서 전국(Silver)으로, 전국에서 국가 대표(Gold)로 올라가는 각 단계에서 심사(품질 검사)를 통과한 데이터만 최종 무대에 선다.


📌 관련 개념 맵

개념관계설명
AutoLoaderBronze 수집cloudFiles 기반 자동 증분 적재
COPY INTOBronze 배치 수집멱등성 보장 명령
MERGE INTOSilver 변환upsert + SCD Type 2 구현
DLT파이프라인 관리의존성 자동 해결, 품질 기대값
SCD Type 2이력 관리valid_from/valid_to/is_current 패턴
dbtGold 집계SQL 선언적 변환 도구

📈 관련 키워드 및 발전 흐름도

[원시 데이터 수집 (Raw Ingestion) — 다양한 소스에서 무결 저장]
    │
    ▼
[브론즈 레이어 (Bronze) — 원시 데이터 그대로 보존]
    │
    ▼
[실버 레이어 (Silver) — 정제·표준화·중복 제거]
    │
    ▼
[골드 레이어 (Gold) — 비즈니스 집계·분석용 최종 데이터]
    │
    ▼
[레이크하우스 (Lakehouse) — 메달리온 위에 ACID 트랜잭션 지원]
    │
    ▼
[데이터 메시 (Data Mesh) — 도메인별 메달리온 자율 관리]

메달리온 아키텍처는 원시 데이터의 가치를 브론즈→실버→골드 정제 단계로 점진적으로 높이며, 레이크하우스와 데이터 메시의 데이터 품질 기반을 제공한다.

👶 어린이를 위한 3줄 비유 설명

  1. 메달리온은 그림 대회의 예선→본선→결선처럼, 데이터가 단계별로 더 좋아지는 여정이에요.
  2. AutoLoader는 우편함을 자동으로 확인해서 새 편지가 오면 바로 Bronze 방에 넣어주는 로봇이에요.
  3. 각 단계에서 품질 검사(DLT Expectations)를 통과해야만 다음 단계로 올라갈 수 있어요.