301. 메타데이터 카탈로그
핵심 인사이트 (3줄 요약)
- 본질: 메타데이터 카탈로그(Metadata Catalog)는 데이터 레이크/웨어하우스에 저장된 데이터 자산의 정보(스키마, 위치, 소유자, lineage, 사용량 등)를管理하는 중앙 집중식 저장소로, 데이터 Discovery, Governance, 혈통 추적의 핵심 기반이다.
- 가치: 방대한 데이터 자산에서 원하는 데이터를 찾을 수 있게 하고, 데이터 품질과 규정 준수를 관리하며, BI/ML 프로젝트의 생산성을 향상시킨다.
- [융합]: 데이터 레이크, Hive Metastore, AWS Glue, 데이터 Governance, Data Lineage, 데이터 품질과 밀접하게 연관된다.
Ⅰ. 개요 및 필요성 (Context & Necessity)
개념 정의
메타데이터 카탈로그(Metadata Catalog)는 데이터 레이크, 데이터 웨어하우스, 또는 기타 데이터 저장소에 저장된 데이터 자산의 정보를 정리·관리하는 중앙 집중식 저장소이다. 테이블, 파일, 컬럼 등의 메타데이터(스키마, 데이터 타입, 위치, 파티션, 소유자, 생성 일자, 사용량 통계, lineage 정보, 품질 지표 등)를 모두 카탈로그에 등록하여, 데이터 사용자가 원하는 데이터 자산을 쉽게 찾고(.Discovery), 해당 데이터의 출처와 변환 과정을 추적하고(Lineage), 데이터 품질과 규정 준수를管理할 수 있게 한다.
필요성
기업의 데이터 레이크/웨어하우스에는 수천~수만 개의 테이블과 파일이 저장되어 있다. 이러한 방대한 데이터 자산 속에서 "어떤 데이터가 있는가?", "어디에 있는가?", "어떤 품질인가?", "어떤 데이터와 연결되어 있는가?"라는 질문에 답하기 어려운 경우가 많다. 메타데이터 카탈로그가 없으면 데이터 scientists나 분석가가 원하는 데이터를 찾기 위해 관리자에게 물어보거나, 실제로 저장된 적이 있는지조차 모른 채 데이터를 다시 생성하는"Data Silo"와 중복 문제가 발생한다. 카탈로그를 통해 데이터를 체계적으로 관리하면 이러한問題を解決할 수 있다.
배경
메타데이터 관리는 데이터베이스 시스템 카탈로그(System Catalog)에서 출발했다. Oracle의 Data Dictionary, SQL Server의 DMV(Dynamic Management Views) 등이 이에 해당한다. 이후 데이터 웨어하우스에서 메타데이터 관리의 중요성이 대두되며 독립적인 메타데이터 관리 시스템(MMS)이 등장했다. 2010년대 이후 데이터 레이크 확산과 함께 Hive Metastore(메타데이터 + 스키마 저장소)가 사실상의 표준으로 자리 잡았다. 최근에는 AWS Glue Data Catalog, Azure Purview, Google Cloud Data Catalog, Alation, Collibra 등의 기업용 메타데이터 카탈로그가 등장하여 자동화된 데이터 Discovery, lineage 추적, 품질 관리, Governanc 기능을 제공한다.
비유
메타데이터 카탈로그는大型도서관의색인(card catalog)과 같다. 도서관에 수천 권의 책이 있지만,색인이 없으면 원하는 책을 찾는 것이 불가능하다. 색인에는 책 제목, 저자, 분류,所在위치 등이 기록되어 있어, 이를 통해 책을 빠르게 찾고, 책의 출처(어떤 출판사에서 왔는지)와 해당 주제와의 관계(관련 주제 책들)를 알 수 있다. 데이터 카탈로그도 마찬가지로, 데이터 자산의"색인"으로서"어떤 데이터가 있는지, 어디에 있는지, 어떻게 연결되어 있는지"를 알려준다.
📢 섹션 요약: 메타데이터 카탈로그는 데이터 자산의 정보를集中管理하는 중앙 저장소로, 데이터 Discovery, Governance, Lineage 추적의 핵심 기반이다.
Ⅱ. 아키텍처 및 핵심 원리 (Deep Dive)
메타데이터 카탈로그 아키텍처
┌─────────────────────────────────────────────────────────────────────────────┐
│ 메타데이터 카탈로그 아키텍처 │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ [카탈로그가 관리하는 메타데이터 유형] │
│ ────────────────────────────── │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ 메타데이터 유형 │ │
│ │ ─────────────────────────────────────────────────────────────────│ │
│ │ │ │
│ │ ① 기술적 메타데이터 (Technical Metadata) │ │
│ │ ────────────────────────────────────────────────────────────────│ │
│ │ • 스키마 정보 (테이블명, 컬럼명, 데이터 타입) │ │
│ │ • 위치 정보 (파일 경로, 데이터베이스명, 파티션) │ │
│ │ • 스토리지 정보 (형식, 크기, 생성일, 수정일) │ │
│ │ • 통계 정보 (행 수, NULL 비율, distinct 값 수) │ │
│ │ │ │
│ │ ② 업무적 메타데이터 (Business Metadata) │ │
│ │ ────────────────────────────────────────────────────────────────│ │
│ │ • 설명 (Description) │ │
│ │ • 소유자 (Owner) │ │
│ │ • 분류 (Classification) - 예: PII(개인정보), 기밀 등 │ │
│ │ • 비즈니스ルール (Business Rule) │ │
│ │ • 데이터 책임자 (Data Steward) │ │
│ │ │ │
│ │ ③ 운영적 메타데이터 (Operational Metadata) │ │
│ │ ────────────────────────────────────────────────────────────────│ │
│ │ • 사용량 통계 (조회 횟수, 마지막 사용 일자) │ │
│ │ • 파이프라인 정보 (ETL/ELT 잡 정보, 스케줄) │ │
│ │ • 품질 지표 (최신 갱신 일자, 결측지 비율) │ │
│ │ │ │
│ │ ④ 계보 메타데이터 (Lineage Metadata) │ │
│ │ ────────────────────────────────────────────────────────────────│ │
│ │ • 데이터 흐름 (Source → Transform → Target) │ │
│ │ • 컬럼 수준 lineage (컬럼 단위 변환 추적) │ │
│ │ • 처리 이력 (Processing History) │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ [카탈로그 아키텍처] │
│ │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ Metadata Catalog Server │ │
│ │ ──────────────────────────────────────────────────────── │ │
│ │ │ │
│ │ ┌───────────────────────────────────────────────────────┐ │ │
│ │ │ Catalog Repository │ │ │
│ │ │ (MySQL, PostgreSQL, SQLite 등) │ │ │
│ │ │ ────────────────────────────────────────────────────│ │ │
│ │ │ Tables: │ │ │
│ │ │ • table_definitions (스키마 정보) │ │ │
│ │ │ • column_definitions (컬럼 정보) │ │ │
│ │ │ • partitions (파티션 정보) │ │ │
│ │ │ • lineage_graph (계보 정보) │ │ │
│ │ │ • tags/classifications (분류/태그) │ │ │
│ │ └───────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ ┌───────────────────────────────────────────────────────┐ │ │
│ │ │ API Layer (REST, Thrift) │ │ │
│ │ └───────────────────────────────────────────────────────┘ │ │
│ └───────────────────────────┬────────────────────────────────────┘ │
│ │ │
│ ┌─────────────────────────┼─────────────────────────┐ │
│ ▼ ▼ ▼ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ BI Tools │ │ Data Eng │ │ Data Science│ │
│ │ (Tableau, │ │ (Spark, │ │ (ML, AI) │ │
│ │ Power BI) │ │ Airflow) │ │ │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
주요 메타데이터 카탈로그 제품
┌─────────────────────────────────────────────────────────────────────────────┐
│ 주요 메타데이터 카탈로그 제품 비교 │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌────────────────┬───────────┬───────────┬───────────┬───────────┐ │
│ │ 특성 │AWS Glue │Azure │Google │ Alation │ │
│ │ │ │Purview │Cloud Data│ │ │
│ │ │ │ │Catalog │ │ │
│ ├────────────────┼───────────┼───────────┼───────────┼───────────┤ │
│ │ 자동화된 │ ✓ │ ✓ │ ✓ │ ✓ │ │
│ │ 메타데이터 추출 │(Crawler) │(Scan) │(Discovery)│(Indexer) │ │
│ ├────────────────┼───────────┼───────────┼───────────┼───────────┤ │
│ │ 데이터 Discovery│ ✓ │ ✓ │ ✓ │ ✓ │ │
│ │ (검색/필터) │ │ │ │ │ │
│ ├────────────────┼───────────┼───────────┼───────────┼───────────┤ │
│ │ Lineage 추적 │ ✓ │ ✓ │ ✓ │ ✓ │ │
│ │ │ │ │ │ │ │
│ ├────────────────┼───────────┼───────────┼───────────┼───────────┤ │
│ │ 분류/태깅 │ ✓ │ ✓ │ ✓ │ ✓ │ │
│ │ (Classification)│ │(민감데이터)│ │(비즈니스) │ │
│ ├────────────────┼───────────┼───────────┼───────────┼───────────┤ │
│ │ 데이터 품질 │ △ │ ✓ │ △ │ ✓ │ │
│ │ 관리 │(프로파일링)│(품질rules)│(프로파일링)│(품질점수) │ │
│ ├────────────────┼───────────┼───────────┼───────────┼───────────┤ │
│ │ Governanc 정책 │ △ │ ✓ │ △ │ ✓ │ │
│ │ (접근제어 등) │(IAM集成) │(통합) │(IAM集成) │(통합) │ │
│ ├────────────────┼───────────┼───────────┼───────────┼───────────┤ │
│ │ 협업 기능 │ △ │ ✓ │ △ │ ✓ │ │
│ │ (후기, 요청) │ │(워크시트) │ │(소통) │ │
│ └────────────────┴───────────┴───────────┴───────────┴───────────┘ │
│ │
│ [오픈소스: Apache Atlas] │
│ ─────────────────────── │
│ • Hadoop 에코시스템을 위한 enterprise 메타데이터/Governanc 프레임워크 │
│ • HDFS, Hive, HBase 등과의 Integration │
│ • lineage 추적 (HIVE, Storm, Falcon 등) │
│ • Fine-grained 접근 제어 (Ranger Integration) │
│ • REST API 제공 │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
데이터 Lineage (계보) 추적
┌─────────────────────────────────────────────────────────────────────────────┐
│ 데이터 Lineage (계보) 추적 │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ [Lineage 추적의重要性] │
│ ────────────────────── │
│ • 데이터가 어디서 왔는지 (출처 추적) │
│ • 데이터가 어떻게 변환되었는지 (변환 이력) │
│ • 데이터 품질 문제 발생 시 영향 범위 분석 │
│ • 규정 준수 (GDPR, CCPA 등) - 데이터 출처 evidence │
│ │
│ [Lineage 시각화 예시] │
│ ─────────────────── │
│ │
│ ┌──────────────┐ │
│ │ Source DB │ │
│ │ (OLTP) │ │
│ │ customers │ │
│ └──────┬───────┘ │
│ │ CDC (Extract) │
│ ▼ │
│ ┌──────────────┐ │
│ │ Raw Zone │ │
│ │ Bronze │ │
│ │ customers │ │
│ └──────┬───────┘ │
│ │ ETL/ELT (Transform) │
│ ▼ │
│ ┌──────────────┐ │
│ │ Silver Zone │ │
│ │ cust_cleaned│ │
│ │ │ │
│ │ columns: │ │
│ │ id → c_id │ │
│ │ name → │ │
│ │ c_name │ │
│ │ email → │ │
│ │ c_email │ │
│ └──────┬───────┘ │
│ │ Aggregated (Load) │
│ ▼ │
│ ┌──────────────┐ │
│ │ Gold Zone │ │
│ │ dim_customer│ │
│ │ (DW Table) │ │
│ │ │ │
│ │ 분석용 데이터 │ │
│ └──────────────┘ │
│ │
│ [컬럼 수준 Lineage] │
│ ──────────────────── │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ Source Column │ Transform Rules │ Target Column │ │
│ │ ─────────────────────────────────────────────────────────────────│ │
│ │ customers.id │ (직접 전달) │ dim_customer.c_id │ │
│ │ customers.name │ UPPER(name) │ dim_customer.c_name │ │
│ │ customers.email │ LOWER(email) │ dim_customer.c_email│ │
│ │ customers.phone │ NULLIF(phone, '') │ dim_customer.c_phone│ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ ※ 컬럼 단위로 출처 추적이 가능 → 문제 발생 시 영향 분석 용이 │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
[다이어그램 해설] 메타데이터 카탈로그는 데이터 Governance의 핵심 기반이다. 기술적 메타데이터(스키마, 위치), 업무적 메타데이터(설명, 소유자, 분류), 운영적 메타데이터(사용량, 품질), 계보 메타데이터(Lineage)가 있으며, 이를 통합 관리하여 데이터 Discovery, 품질 관리, 규정 준수를 지원한다. AWS Glue, Azure Purview, Google Cloud Data Catalog 등의 cloud 서비스와 Alation, Collibra 등의 enterprise 카탈로그가 있으며, Apache Atlas는 Hadoop 에코시스템을 위한오픈소스 옵션이다.
📢 섹션 요약: 메타데이터 카탈로그는 기술적/업무적/운영적/계보 메타데이터를 통합 관리하여 데이터 Discovery, 품질, Governanc를 지원하는 핵심 기반이다.
Ⅲ. 결론
메타데이터 카탈로그는 데이터 레이크/웨어하우스의数据 자산을 체계적으로管理하기 위한 필수 인프라이다. 자동화된 메타데이터 추출, 검색 기능, 분류/태깅, Lineage 추적, 품질 관리, Governanc 정책 기능을 제공하여, 데이터 사용자가 원하는 데이터를 쉽게 찾고, 데이터 품질을 관리하며, 규정 준수를 증명할 수 있게 한다. Cloud provider에서 제공하는 managed 카탈로그服务(AWS Glue, Azure Purview, GCP Data Catalog)와 Enterprise 솔루션(Alation, Collibra), 그리고 오픈소스(Apache Atlas) 등 다양한 옵션이 있으므로, 조직의 필요에 맞는 카탈로그를 선택하는 것이 중요하다.
📢 섹션 요약: 메타데이터 카탈로그는 데이터 자산의 발견, 품질, Governanc를 관리하는 필수 시스템으로, 다양한 cloud 및 enterprise 솔루션이 제공한다.
핵심 인사이트 ASCII 다이어그램 (Concept Map)
┌─────────────────────────────────────────────────────────────────────────────┐
│ Metadata Catalog Concept Map │
│ │
│ ┌─────────────────────────────────┐ │
│ Metadata Catalog │ │
│ (메타데이터 카탈로그) │ │
└───────────────┬─────────────────┘ │
│ │ │
│ ┌────────────────────┼────────────────────┐ │
│ ▼ ▼ ▼ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Technical │ │ Business │ │ Operational │ │
│ │ Metadata │ │ Metadata │ │ Metadata │ │
│ │ (스키마/위치) │ │ (설명/분류) │ │ (사용량/품질)│ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │ │ │ │
│ └────────────────────┼────────────────────┘ │
│ ▼ │
│ ┌─────────────────────┐ │
│ │ Lineage Graph │ │
│ │ (데이터 계보) │ │
│ │ + Discovery │ │
│ │ + Governance │ │
│ └─────────────────────┘ │
│ │
│ 핵심 기능: 검색 | 분류 | Lineage | 품질 | 접근제어 │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
참고
- 메타데이터 카탈로그는 데이터 자산의 정보를集中管理한다.
- 기술적/업무적/운영적/계보 메타데이터를 포함한다.
- 데이터 Discovery, Governanc, 품질 관리의 핵심 기반이다.
- AWS Glue, Azure Purview, GCP Data Catalog 등이 있다.
- Enterprise 솔루션(Alation, Collibra)도 활용된다.
- Apache Atlas는 Hadoop 에코시스템용 오픈소스 옵션이다.
- 자동화된 메타데이터 추출과 수동 보충이 함께 사용된다.