본문으로 건너뛰기

Medallion 데이터 레이어

GenD 는 Medallion 아키텍처 (Bronze / Silver / Gold) 를 데이터 거버넌스의 공통 좌표축으로 사용합니다. 각 테이블은 정제 단계를 명시하는 layer 메타데이터를 가지며, 카탈로그 UI · 품질 SLA · 접근 제어가 이 값으로 차등 적용됩니다.

Federation × Medallion 데이터 흐름

한눈에 보기

GenD Medallion 가치 흐름

Layer정의대표 예거버넌스
🥉 Bronze원천 그대로, 불변, 감사용iceberg.cdc.orders, 외부 RDB CDC 랜딩PII 미마스킹, 접근 제한
🥈 Silver정제·마스킹·스키마 통일iceberg.<domain>.stg_*, 정제된 문서 zonePII 마스킹 완료, 분석가 접근
🥇 Gold비즈니스 집계·소비 준비 완료iceberg.datax_analytics.*, 모든 DataMartRAG·BI·ML 즉시 소비

GenD 의 layer 관리 축

GenD 는 layer 값을 다음 네 축에서 일관되게 관리합니다 — 모두 같은 vocabulary (bronze / silver / gold) 를 공유합니다.

위치용도
Dagster Asset Tagtags={"layer": "..."} (pipelines/gend_pipelines/assets/)파이프라인 그룹화, asset graph 시각화, SLA 분기
Iceberg Table Propertygend.layer extra_propertyread 경로: PostgreSQL table_metadata 가 비었을 때 best-effort fallback 으로 /catalog/.../metadata 응답에 노출. write 경로는 Trino 435 connector 의 properties whitelist 제약으로 비활성 (Issue #545) — 외부에서 직접 set 하면 보존됨
PostgreSQL table_metadatalayer / domain 컬럼카탈로그 UI 배지, ABAC/품질 정책 후보, 거버넌스 정책 입력 (진실의 원천)
DataMart.layerDataMart 레코드 컬럼 (기본값 gold)마트 단위 layer (생성·업데이트 API 가 검증)

시드 자동화 (Issue #551, PR #555): make seed-demo 실행 시 scripts/backfill_medallion_layer.py --apply 가 자동 호출되어 모든 시드 대상 테이블에 layer 메타데이터가 부여됩니다. 단일 소스: scripts/seed/metadata/table_layers.py.

Zone ↔ Layer 매핑

문서 처리 파이프라인의 zone 용어와 Medallion 레이어는 1:1 매핑됩니다.

문서 ZoneMedallion Layer의미
rawBronze수집 직후 원본 문서
cleanedSilverPII 마스킹·텍스트 정제 완료
parsedGold엔티티 추출 + auto-tag 완료, RAG 즉시 소비

변환 파이프라인은 Dagster UI 에서 preprocessing asset group 으로 노출됩니다 — raw_zone_ingestcleaned_zone_processparsed_zone_extract 순. URL 은 환경별로 다릅니다 — Kind 로컬은 http://localhost:30400, AKS 는 클러스터 운영자가 안내한 Dagster 엔드포인트. NodePort 매핑은 서비스 포트 참조.

어디서 layer 가 보이나

화면표시 방식
테이블 상세 페이지 (카탈로그에서 테이블 클릭)헤더의 layer 배지 + 우측 About 영역의 Medallion 필드 (MedallionLayerBadge 컴포넌트)
DataMart 빌더 (/data-marts)마트 생성 시 layer 선택 (기본 Gold), 목록 화면 layer 칼럼

카탈로그 트리 자체에는 layer 배지가 렌더되지 않습니다 — 트리 클릭 후 진입한 테이블 상세 페이지에서 확인하세요. (UI 회귀: ui/src/components/catalog/CatalogPage.tsx)

layer 별 거버넌스 차등 (권장 운영 가이드)

GenD 의 ABAC/품질/감사 시스템은 layer 를 자동 차등 조건으로 사용하지 않습니다 (현재 시행 기준은 security_level·PII 태그·quality_rules 입니다). 아래 표는 layer 를 거버넌스 입력으로 채택할 때 권장되는 운영 모델 — 조직별 정책 작성 시 참조용 가이드입니다.

차등 항목BronzeSilverGold
PII 노출마스킹 미적용 (감사 로그 격리)마스킹 완료마스킹 완료 + 비식별화
기본 접근데이터 엔지니어, 감사분석가·엔지니어전체 (분석가·현업·BI·AI Agent)
품질 SLAfreshness 24h 권장6h1h (실시간성 마트는 더 엄격)
변경 제한불변 (append-only)스키마 변경 승인 워크플로우마트 빌더 자유

실제 layer 기반 정책 자동 시행은 향후 단계 작업입니다 — 현 시점에는 ABAC 정책 (#473)품질 시스템 의 시행 기준에 layer 조건을 직접 추가하는 방식을 사용하세요.

더 깊은 내용

  • 설계 매핑 표 + Dagster asset 별 layer 부여 근거 — docs/architecture.md §5.3 (리포지토리 내부)
  • Layer 단일 소스 모듈 — pipelines/gend_pipelines/layer.py + apps/api/src/gend_api/models/layer.py (양쪽 미러)
  • 시드 시점 layer 메타데이터 자동화 — Issue #551 · PR #555
  • Medallion 워크스루 튜토리얼 — Bronze 에서 Gold 까지