본문 바로가기
개인 공부 일지/데이터 엔지니어링

메달리온 아키텍처(Medallion Architecture)

by 대체로 무해함 2025. 9. 10.

서론

데이터 엔지니어링에서 사이드 프로젝트를 진행하려고 할 때, 레이크 하우스까지 생각했으나 데이터를 분류하는 기준을 이해하지 못했다. Apache Iceberg를 활용해보고 싶은데, 기술 도메인을 공부하면서 계층별로 데이터를 구분하는데 어디서 나온 개념인지 몰라 공부해보았다.

메달리온 아키텍처란?

레이크하우스에 논리적으로 데이터를 정리하는데 사용되는 데이터 설계 패턴

 

데이터가 각 레이어를 통과하는 동안 데이터의 구조와 품질을 증분적, 점진적으로 개선하는 것을 목표로 한다. 다른 이름으로 '멀티 홉' 아키텍처라고도 한다.

사진 출처 : databricks[메달리온 아키텍처]

메달리온 3계층 구조

Bronze 레이어 (원시 데이터 수집)

외부 소스 시스템의 데이터가 위치하는 레이어.

 

소스 시스템 테이블 구조에 그대로 대응하는 곳이며, 초기 수신 역할을 한다. 그렇기에 소스 시스템 테이블에 로드 날짜/시간, 프로세스 ID 등 캡처에 대한 메타데이터 컬럼이 추가된다.

 

최소한의 데이터 유효성 검사가 진행될 수도 있고, 삭제된 데이터에 대한 스키마 변경 보호를 위해 대부분의 필드를 문자열 및 이진 파일 저장하는 것이 추천됨

 

데이터를 빠르게 캡처하는 것이 목적인 레이어로, 소스의 과거 아카이브, 데이터 계보, 필요하다면 재처리 기능까지 제공하는 것이 핵심이 된다.

Silver 레이어 (데이터 정리 및 유효성 검사)

브론즈 레이어 또는 실버 레이어 기반으로 데이터를 읽고 실버 테이블에 데이터를 쓴다.

 

주요 단체, 개념, 트랜잭션에 대한 엔터프라이즈 뷰를 제공한다. 다른 소스의 데이터를 엔터프라이즈 뷰를 가져오고, 즉석 보고를 위해 서비스 분석, 고급 분석, ML을 지원한다.

> 분석가, 엔지니어, 과학자에게 소스 역할과 동시에 골드 레이어에 있는 비즈니스에 문제에 답할 수 있도록 돕는다.

 

레이크하우스 데이터 엔지니어링 패러다임에서 ELT를 따르므로, 실버 레이어를 로드하는 동한 최소한 또는 적당한 수준의 변환과 데이터 정리 규칙만 적용한다.

> 대부분의 복잡한 변환과 비즈니스 규칙은 골드 레이어를 로드하는 동안 시행한다. 이는 데이터 레이크의 수집 및 전달 속도 향상을 위함

 

실버 레이어는 대개 데이터 모델처럼 3차 정규형이 많음

Gold 레이어 (비즈니스 레벨 테이블)

골드 레이어에 위치한 데이터는 보통 바로 사용할 수 있는 프로젝트별 데이터베이스에 정리된다. 주로 보고용으로 사용하고, JOIN 개수가 적고, 더욱 비정규화된 읽기 최적화 데이터 모델을 사용한다.

 

데이터 변환과 데이터 품질 규칙의 마지막 레이어가 적용되며, 주로 스타 스키마 기반 데이터 모델이나 데이터 마트가 들어가는 경우가 많다.

해당 개념에 대한 궁금증

Gold 레이어의 데이터는 어디에 위치해야 하는가?

  • Gold 레이어의 데이터는 비즈니스에 직접 사용되는 데이터인데, 객체 저장소에 저장해서 읽어서 쓸까? 아니면 WAS 내의 RDB나 NoSQL 등 비즈니스에서 직접 활용할 수 있도록 DB에 직접 저장하는걸까?
  • 결론부터 말하자면 객체 저장소에 위치하는 것이 아키텍처의 방식
  • Gold 레이어도 결국 메달리온 아키텍처의 포함되어 있는 계층으로, 정제되어 완성된 데이터가 레이어 내에 위치
  • 그래서 비즈니스 상에서 빠른 접근을 위해서 별도의 데이터 저장이 필요한 경우 레이어에서 데이터의 사본을 가져와 저장한다

Bronze 레이어의 데이터의 삭제 주기는 어떻게 설정하면 좋을까?

  • 아키텍처에서 해당 계층에서 재처리, 품질 문제로 인한 원본 재참조(데이터 계보) 등 다시 원본 데이터를 참조하는 작업이 발생하기 때문에 원칙적으로 저장하는 것이 맞음
  • 단, 저장 비용의 문제가 있기 때문에 설계 및 구현에 따라 별도의 위치로 이동하거나 삭제 주기를 설정하고 삭제하게 됨
  • 결국은 Bronze 레이어에서 재처리 등 기능 수행과 관련 있기에 복구 능력과 저장 비용 간에 Trade-off가 발생하는 것이 됨
  • 설계 및 구현에 따라 적정한 시기(Snapshot이나 특정 시간 단위)에 더 싼 저장소로 옮기거나 삭제하는 과정이 필요

참고 및 출처

databricks[메달리온 아키텍처]

https://www.databricks.com/kr/glossary/medallion-architecture

 

메달리온 아키텍처(Medallion Architecture)란 무엇입니까?

메달리온 아키텍처는 데이터 구조와 품질을 개선하는 것을 목표로 레이크하우스에서 논리적으로 데이터를 정리하는 데 사용하는 데이터 설계 패턴입니다. 이 아키텍처는 데이터가 아키텍처의

www.databricks.com

 

microsoft Azure Databricks

https://learn.microsoft.com/ko-kr/azure/databricks/lakehouse/medallion

 

메달리온 레이크하우스 아키텍처란 무엇인가요? - Azure Databricks

medallion 아키텍처를 사용하여 안정적이고 최적화된 데이터 아키텍처를 만들고 레이크하우스에서 데이터의 유용성을 최대화하는 방법을 알아봅니다.

learn.microsoft.com

 

'개인 공부 일지 > 데이터 엔지니어링' 카테고리의 다른 글

Workflow Orchestration (3) - Dagstar  (0) 2026.01.04
Workflow Orchestration (2) - n8n  (0) 2026.01.03
Workflow Orchestration (1) - Airflow  (0) 2026.01.03
Parquet이란  (0) 2025.10.26