Data Mesh Architecture
Data Mesh Architecture 는 데이터 플랫폼의 중앙 집중적 한계를 극복하기 위해 등장한 분산형 데이터 관리 아키텍처다. 각 도메인 (업무 영역) 이 데이터의 소유권과 책임을 갖고, 데이터 제품 (Data Product) 으로서 데이터를 제공한다. 데이터 거버넌스, 품질, 보안을 자동화된 플랫폼 기능으로 지원하며, 확장성과 민첩성, 조직 내 데이터 활용도를 극대화한다. 대규모 엔터프라이즈 데이터 환경에서 점점 더 중요한 역할을 하고 있다.
배경
Data Mesh 아키텍처가 등장한 배경은 전통적인 중앙집중형 데이터 아키텍처의 한계에서 비롯된다:
전통적 아키텍처의 문제점:
- 데이터 팀 병목현상: 모든 데이터 요청이 중앙 데이터팀을 거쳐야 하는 구조
- 도메인 지식 부족: 중앙 데이터팀이 각 도메인의 비즈니스 맥락을 완전히 이해하기 어려움
- 확장성 제약: 조직 성장과 함께 중앙집중형 구조의 한계 노출
- 민첩성 저하: 데이터 기반 의사결정의 속도 저하
디지털 전환의 요구사항:
- 실시간 데이터 처리 필요성 증가
- AI/ML 워크로드를 위한 대용량 데이터 접근성
- 비즈니스 도메인별 특화된 데이터 요구사항
목적 및 필요성
주요 목적:
- 데이터 민주화: 모든 도메인이 필요한 데이터에 자유롭게 접근
- 확장성 확보: 조직 성장에 따른 데이터 아키텍처의 선형적 확장
- 혁신 가속화: 도메인별 데이터 실험과 혁신 촉진
- 운영 효율성: 중앙집중형 병목현상 제거
비즈니스 필요성:
- 시장 대응력 향상: 빠른 데이터 기반 의사결정
- 고객 경험 개선: 실시간 개인화 서비스 제공
- 비용 최적화: 중복 인프라 제거 및 효율적 자원 활용
핵심 개념
Data Mesh Architecture 는 데이터 소유권과 책임을 중앙 데이터팀이 아닌 각 도메인 팀에 분산시켜, 도메인별로 데이터 제품을 생산·관리·공유하는 분산 데이터 관리 아키텍처이다.
기본 개념
도메인 중심 데이터 소유권 (Domain-Oriented Data Ownership)
각 비즈니스 도메인이 해당 도메인과 관련된 데이터의 수집, 변환, 제공에 대한 완전한 책임을 갖는 개념이다. 이는 Conway’s Law 와 Eric Evans 의 Domain-Driven Design (DDD) 원칙을 데이터 영역에 적용한 것이다.데이터 제품화 (Data as a Product)
데이터를 단순한 부산물이 아닌 독립적인 제품으로 취급하여, 명확한 고객 (다른 도메인) 을 위한 품질, 유용성, 접근성을 보장하는 철학이다.셀프서비스 데이터 인프라 (Self-serve Data Infrastructure as a Platform)
도메인팀이 자율적으로 데이터 제품을 구축, 배포, 운영할 수 있도록 지원하는 플랫폼 기반 인프라를 의미한다.연합 거버넌스 (Federated Computational Governance)
중앙집중적 통제가 아닌 표준화와 상호운용성을 통한 분산된 거버넌스 모델이다.
실무 구현을 위한 연관성
- 마이크로서비스 아키텍처와의 연관성: 서비스 경계와 데이터 경계의 일치
- DevOps 문화와의 연관성: 도메인팀의 자율성과 책임감 강화
- API 설계와의 연관성: 데이터 제품의 인터페이스 표준화
- 클라우드 네이티브와의 연관성: 확장 가능한 인프라 플랫폼 활용
주요 기능 및 역할
- 도메인별 데이터 제품 개발·운영
- 데이터 거버넌스 자동화 및 표준화
- 데이터 품질, 보안, 접근 권한 관리
특징
- 도메인 중심 데이터 소유권 및 책임
- 데이터 제품 (Product) 단위의 관리
- 자율적 데이터 플랫폼 제공
주요 원리
Data Mesh 는 네 가지 핵심 원리를 중심으로 설계된다. 이는 모든 구성요소와 프로세스의 기반이며, 시스템이 분산성과 자율성을 유지하면서도 신뢰성과 일관성을 확보할 수 있게 한다.
구분 | 원리 | 설명 |
---|---|---|
1 | Domain-Oriented Decentralization | 각 도메인이 자체적으로 데이터를 생성, 운영, 책임지며 데이터 소유권과 책임을 갖습니다. |
2 | Data as a Product | 데이터를 제품처럼 관리하며, 사용자가 이해하고 신뢰할 수 있도록 문서화, SLA, API 를 포함한 형태로 제공합니다. |
3 | Self-Serve Data Infrastructure | 데이터 플랫폼이 도메인 개발자가 독립적으로 데이터 파이프라인을 구축·운영할 수 있도록 기능을 제공합니다. |
4 | Federated Computational Governance | 중앙의 거버넌스 팀이 자동화된 정책과 표준을 정의하고, 각 도메인은 이를 코드 기반으로 준수합니다. |
각 도메인에서 데이터 제품을 생산·관리하며, 자율적 데이터 플랫폼을 통해 공유 및 소비한다. 거버넌스는 플랫폼을 통해 자동화·표준화된다.
graph TB subgraph "Data Mesh Core Principles" A[Domain-Oriented<br/>Decentralized Data Ownership] B[Data as a Product] C[Self-serve Data<br/>Infrastructure Platform] D[Federated Computational<br/>Governance] end subgraph "Domain A" A1[Domain Team A] A2[Data Product A] A3[Local Infrastructure] end subgraph "Domain B" B1[Domain Team B] B2[Data Product B] B3[Local Infrastructure] end subgraph "Shared Infrastructure" SI[Self-serve Platform] SG[Global Governance] SC[Common Standards] end A --> A1 B --> A2 C --> SI D --> SG A1 --> A2 B1 --> B2 A2 <--> B2 A3 --> SI B3 --> SI SC --> A2 SC --> B2
작동 원리 및 방식
sequenceDiagram participant DomainTeam as Domain Team participant Platform as Self-Serve Platform participant Governance as Governance Engine participant Catalog as Metadata Catalog participant Consumer as Data Consumer DomainTeam->>Platform: 데이터 파이프라인 구성 (ETL, 모델링) DomainTeam->>Governance: 정책 확인 및 자동 적용 (ex. 스키마 검증) DomainTeam->>Catalog: 메타데이터 등록 (스키마, SLA 등) Consumer->>Catalog: 데이터 제품 검색 및 문서 확인 Consumer->>DomainTeam: 데이터 요청 / API 호출 Platform-->>DomainTeam: 파이프라인 실행 지원 및 모니터링 Governance-->>Platform: 정책 배포 및 규칙 모니터링
- 도메인 팀이 자사 서비스에 맞는 Data Product를 설계한다.
- Data Product는 메타데이터와 함께 Data Catalog에 등록된다.
- Self-Serve Platform을 활용해 ETL/ELT, 보안, 모니터링, 배포를 처리한다.
- 중앙 Governance는 정책을 코드 기반으로 배포하고 위반 여부를 모니터링한다.
- 데이터 소비자는 API 또는 Query Interface를 통해 제품을 검색, 평가, 요청하여 사용한다.
구조 및 아키텍처
Data Mesh 아키텍처는 3 가지 주요 플레인 (Plane) 으로 구성된다:
graph TB subgraph "Data Mesh Experience Plane" DC[Data Catalog] DD[Data Discovery] AC[Access Control] DQ[Data Quality] end subgraph "Domain A" DA_T[Domain Team A] DA_P[Data Product A] DA_API[Data API A] end subgraph "Domain B" DB_T[Domain Team B] DB_P[Data Product B] DB_API[Data API B] end subgraph "Data Product Developer Plane" DP[Data Pipeline Tools] VCS[Version Control] TEST[Testing Framework] CICD[CI/CD Pipeline] end subgraph "Data Infrastructure Plane" COMPUTE[Compute Engines] STORAGE[Storage Systems] STREAM[Streaming Platform] CONTAINER[Container Platform] end subgraph "Federated Governance" POLICIES[Global Policies] STANDARDS[Data Standards] SECURITY[Security Policies] end DA_T --> DA_P DB_T --> DB_P DA_P --> DA_API DB_P --> DB_API DA_P --> DP DB_P --> DP DP --> COMPUTE DP --> STORAGE DP --> STREAM DA_API --> DC DB_API --> DC DC --> DD DD --> AC POLICIES --> DA_P POLICIES --> DB_P STANDARDS --> DA_API STANDARDS --> DB_API DA_API <--> DB_API
구성 요소
플레인 | 핵심 목적 |
---|---|
Data Infrastructure Plane | 데이터 처리/저장/전송을 위한 기반 인프라 제공 (도메인 무관) |
Data Product Developer Plane | 데이터 제품의 개발부터 배포까지 전 주기를 지원하는 개발 도구 집합 |
Data Mesh Experience Plane | 데이터 소비자가 신뢰하고 접근할 수 있도록 지원하는 거버넌스/발견 인터페이스 |
Data Infrastructure Plane
도메인에 독립적인 공통 인프라로서 모든 데이터 처리의 기반을 구성함
구분 | 기능 | 구성요소 | 대표 도구 예시 | 역할 및 설명 |
---|---|---|---|---|
필수 | 범용 데이터 처리 및 분산 컴퓨팅 | 컴퓨트 엔진 | Apache Spark, Apache Flink | 대용량 배치/실시간 데이터 처리, 병렬 분산 처리 지원 |
대규모 데이터 저장 | 스토리지 시스템 | Amazon S3, Google Cloud Storage, Apache Iceberg | 비정형·정형 데이터 저장, 포맷 일관성 유지 (Iceberg 는 스키마 버전 관리 포함) | |
실시간 데이터 전송 | 스트리밍 플랫폼 | Apache Kafka, AWS Kinesis | 이벤트 기반 처리, Pub/Sub 구조로 도메인 간 decoupling | |
컴퓨팅 리소스 운영 및 자동화 | 컨테이너 오케스트레이션 | Kubernetes, Docker | 파이프라인 및 애플리케이션 배포 자동화, 자원 스케줄링 | |
선택 | 시스템 상태 관측 | 모니터링 도구 | Prometheus, Grafana | 자원/파이프라인 성능 모니터링, 알람 설정 |
로그 수집 및 분석 | 로깅 시스템 | ELK Stack (Elasticsearch, Logstash, Kibana), Fluentd | 파이프라인 디버깅 및 운영 문제 추적 |
🔍 핵심 기여: 고가용성, 대규모 분산 처리, 실시간/비동기 시스템을 위한 기초 체계 제공
Data Product Developer Plane
데이터 제품의 생성부터 배포까지 개발 주기를 전담하고 자동화함
구분 | 기능 | 구성요소 | 대표 도구 예시 | 역할 및 설명 |
---|---|---|---|---|
필수 | 파이프라인 구성 및 일정 관리 | 데이터 파이프라인 도구 | Apache Airflow, Prefect | ETL/ELT 워크플로 설계 및 스케줄링 |
코드 및 데이터 버전 관리 | 버전 관리 시스템 | Git, DVC | 데이터 파이프라인 및 모델 버전 추적 | |
품질 테스트 및 검증 | 테스팅 프레임워크 | dbt tests, Great Expectations | 스키마, null, 범위, 유효성 등 검증 자동화 | |
제품 배포 및 파이프라인 릴리즈 자동화 | 배포 도구 (CI/CD) | GitHub Actions, GitLab CI, Jenkins | 릴리즈 파이프라인 자동화, 변경 감지 및 배포 수행 | |
선택 | ML 라이프사이클 관리 | ML 플랫폼 | MLflow, Kubeflow | 학습 실험 추적, 모델 배포, 운영 모니터링 |
결과 시각화 및 대시보드 구성 | 데이터 시각화 | Tableau, Grafana | 소비자에게 설명력 있는 데이터 제공, 운영 대시보드 구축 |
🔍 핵심 기여: 데이터 제품 개발의 일관성, 자동화, 품질 확보. 도메인 팀의 자율성과 독립성 강화
Data Mesh Experience Plane
데이터 소비자의 경험 최적화를 통해 신뢰할 수 있는 접근성과 거버넌스를 제공함
구분 | 기능 | 구성요소 | 대표 도구 예시 | 역할 및 설명 |
---|---|---|---|---|
필수 | 데이터 탐색 및 검색 | 데이터 카탈로그 | Apache Atlas, DataHub | 메타데이터 기반으로 데이터 위치, 책임자, 스키마 등 검색 |
메타데이터 중심 탐색 인터페이스 제공 | 메타데이터 검색 엔진 | DataHub Search, 커스텀 엔진 등 | 키워드, 태그, 도메인 기반의 직관적인 탐색 | |
정책 기반 접근 제어 | 접근 제어 시스템 | IAM, RBAC, OPA | 권한 분리 및 보안 통제, 거버넌스 정책 실행 | |
계약 기반 데이터 구조 정의 | 데이터 계약 관리 | Schema Registry, OpenAPI, AsyncAPI | 계약 기반 스키마 및 데이터 제공 보장, 하위 호환성 유지 | |
선택 | 품질 이상 탐지 및 경고 | 데이터 품질 모니터링 | Monte Carlo, Great Expectations | 파이프라인 중단, 이상치 등 자동 감지 및 경고 |
데이터 흐름 시각화 및 추적 | 데이터 리니지 추적 | Apache Atlas, DataHub Lineage | 데이터 변환 경로, 종속성, 영향도 분석 시각화 |
🔍 핵심 기여: 소비자의 신뢰·발견·이해·접근성 중심으로 데이터 접근 비용을 최소화하고 거버넌스와 품질 관리까지 자동화
구현 기법
Data Mesh 는 단일한 기술이 아닌, 설계 철학과 운영 모델의 결합이다. 따라서 다양한 기술 스택과 방법론이 함께 쓰이며, 핵심 구성요소별로 구현 기법을 나눠 설명합니다.
구성 요소 | 구현 기법 | 설명 | 예시 |
---|---|---|---|
데이터 제품 | 데이터 계약 (Data Contract) + dbt + 문서화 | 스키마 정의, 문서화, 품질 검증 자동화 | dbt + dbt-docs + OpenAPI + Great Expectations |
파이프라인 | Orchestration 기반의 Self-Serve ETL | DAG(Directed Acyclic Graph) 을 통한 파이프라인 정의 | Airflow, Dagster, Prefect |
인프라 자동화 | IaC (Infrastructure as Code) | 플랫폼 구성 요소를 자동 배포 | Terraform, Pulumi, AWS CDK |
데이터 카탈로그 | 메타데이터 수집 및 탐색 | lineage 추적, SLA 등록, 검색 | DataHub, Amundsen, Collibra |
거버넌스 | 정책 엔진 + Federated Governance | 데이터 분류, 접근 제어, 감사 로그 추적 | Open Policy Agent (OPA), Apache Ranger |
장점
카테고리 | 항목 | 설명 |
---|---|---|
1. 확장성과 유연성 | 선형적 확장성 | 도메인 중심 분산 구조로 인해 중앙 허브 없이도 병렬적 확장 가능 |
기술 다양성 수용 | 각 도메인이 독립적으로 필요에 맞는 언어, 도구, 플랫폼 선택 가능 | |
아키텍처 유연성 | 단일 스택 강제 없이 다양한 설계 접근과 통합 방식 적용 가능 | |
2. 민첩성과 혁신성 | 빠른 릴리즈 및 실험 가능 | 도메인 자율성 확보로 중앙 승인 없이 빠른 실험과 배포 가능 |
병목 해소 | 중앙 데이터팀에 의존하지 않으므로 의사결정과 처리 지연 최소화 | |
혁신 촉진 | 도메인 내 실험 가능성과 기술 선택 자유도로 다양한 혁신 시도 가능 | |
3. 책임과 품질 | 자율성과 책임 강화 | 도메인 팀이 소유권을 가지며 품질, 보안, 신뢰성 확보에 주도적으로 대응 |
비즈니스 문맥 기반 품질 향상 | 도메인 전문가가 직접 데이터를 다루어 맥락에 맞는 정확성 보장 | |
4. 데이터 소비 최적화 | 사용자 중심 데이터 제품 | 문서화, SLA, API 등 소비자 관점에서 완결된 데이터 제공 |
데이터 활용 극대화 | 다양한 도메인에서 생산한 데이터 제품을 빠르게 소비·공유 가능 | |
5. 안정성과 효율성 | 장애 격리성 | 한 도메인의 장애가 전체 시스템에 영향을 주지 않도록 격리 설계 가능 |
비용 효율성 | 인프라 중복 제거와 리소스 최적화로 도메인별 운영 비용 최소화 |
단점과 문제점 그리고 해결방안
단점
카테고리 | 항목 | 설명 | 해결 방안 |
---|---|---|---|
운영 복잡도 | 운영 복잡성 증가 | 도메인 수 증가로 파이프라인, 계약, 품질 관리의 복잡성 상승 | 자동화된 테스트, 배포, 모니터링 도구 도입 |
일관성 및 표준화 | 데이터 설계 일관성 부족 | 도메인마다 설계 기준이 상이해 통합성과 품질 확보 어려움 | 공통 설계 템플릿, 정책 코드화 (Policy as Code) 적용 |
초기 투자 및 비용 | 높은 초기 구축 비용 | 플랫폼 및 거버넌스 자동화를 위한 초기 비용과 기술 인프라 부담 | OSS 활용, ROI 기반 단계적 도입 |
기술 요구사항 | 스킬 격차 / 도메인 역량 편차 | 도메인팀의 데이터 엔지니어링 및 자동화 역량 부족 | 교육 제공, 플랫폼팀 중심의 기술 지원 |
조직 변화 | 조직 문화 변화 필요 | 중앙집중형에서 자율 분산형으로 전환 시 마찰 발생 | 교육, 사내 문서화, 도메인 주도의 확산 전략 추진 |
표준 부재 | 표준 불일치 및 재정의 필요 | 도메인 간 데이터 계약, 인터페이스, 문서화 기준이 다를 경우 통합 불가 | 표준화 정책 수립, JSON Schema 및 dbt 기반 자동화 적용 |
문제점
카테고리 | 항목 | 원인 | 영향 | 탐지 및 진단 | 예방 방법 | 해결 기법 |
---|---|---|---|---|---|---|
품질 관리 | 데이터 품질 불균형 | 도메인별 품질 기준/관리 수준 차이 | 분석 오류, 신뢰성 저하 | 품질 모니터링, 이상 탐지 | 공통 품질 메트릭, 기준 공유 | Great Expectations 기반 자동화 |
데이터 계약 | 계약 미준수 | Schema 정의 부족, 자동화 미흡 | 파싱 오류, 품질 문제 | Contract Test 실패율 | Contract 기반 배포 차단 | dbt test, CI/CD 통합 |
거버넌스 | 정책 위반 및 거버넌스 표류 | 코드화 미비, 정책 실행 강제력 부족 | 보안 위협, 법적 위반 | 감사 로그, 정책 모니터링 | OPA 기반 자동 정책 관리 | Policy as Code, 실시간 정책 모니터링 |
데이터 자산 관리 | 데이터 제품 누락 | 문서화/등록 누락 | 재작업 증가, 탐색 어려움 | 카탈로그 기반 검출 | Git hook 기반 등록 자동화 | DataHub API 자동 등록 |
파이프라인 안정성 | 스케줄 장애 및 종속성 충돌 | DAG 간 의존성 설계 미흡 | SLA 미준수, 분석 중단 | 파이프라인 상태 모니터링 | 의존성 시각화 및 리트라이 설정 | Prefect/Airflow Retry, Failover 설정 |
데이터 중복 및 사일로 | 데이터 사일로 재생성 | 도메인 간 협력 부족 | 중복 저장, 불일치 | 데이터 리니지 분석 | 명확한 계약, 공통 카탈로그 구축 | 크로스 도메인 워킹 그룹 운영 |
기술 운영 관리 | 기술 부채 누적 | 도메인별 자율적인 기술 선택 | 유지보수 복잡도 증가 | 기술 스택 인벤토리 | 플랫폼 선택 가이드 제공 | 기술 표준 리뷰 주기화, 레거시 리팩터링 |
도전 과제
기술적 도전 과제
카테고리 | 과제명 | 원인 | 영향 | 탐지 및 진단 | 예방 방법 | 해결 방법 및 기법 |
---|---|---|---|---|---|---|
아키텍처 | 분산 시스템 복잡성 | 도메인 간 데이터 일관성 유지 어려움 | 데이터 불일치, 중복, 비즈니스 리스크 발생 | 데이터 리니지 추적, 변경 이벤트 실시간 모니터링 | 명확한 데이터 계약, API 규칙 준수 | Event Sourcing + CQRS 적용 |
성능 | 실시간 처리 성능 | 대용량 스트리밍 데이터 처리에 대한 기술 부담 | 지연시간 증가, UX 저하 | Throughput/Latency 모니터링 | 파티셔닝, 캐싱 전략 적용 | 스케일 아웃 아키텍처, 벡터화된 처리 구조 적용 |
기술 통합 | 플랫폼 복잡도 증가 | 다양한 도구 및 API 연계, 기술 선택의 자유 | 유지보수 복잡도, 비용 증가 | 장애 빈도 분석, API 호출 실패율 추적 | 공통 템플릿, 툴 가이드 제공 | Self-Serve Templates + IaC 기반 표준화 |
상호운용성 | 도메인 간 표준화 미흡 | 데이터 제품 정의, 메타데이터, API 가 도메인마다 상이함 | 통합 불가, 데이터 소비성 저하 | API/Schema 유효성 검사 자동화 | 공통 표준 정책 및 등록 절차 수립 | OpenAPI/Schema Registry 연동 기반 자동 검증 구조 구축 |
조직적 도전 과제
카테고리 | 과제명 | 원인 | 영향 | 탐지 및 진단 | 예방 방법 | 해결 방법 및 기법 |
---|---|---|---|---|---|---|
문화 변화 | 도메인 중심 문화 부족 | 중앙 집중형 사고방식 잔존 | 역할/책임 불분명, 자율 운영 저하 | 도메인 오너십 부재, 역할 혼선 | 도메인 기반 워크숍, 교육, 커뮤니케이션 강화 | 데이터 오너 정의, 도메인 중심 운영 체계 재편 |
변화 저항 | 조직 전환의 심리적 저항 | 기존 방식에 대한 안정감, 변화에 대한 불확실성 | 프로젝트 지연, 이행 실패 위험 | 조직 성숙도 진단, 변화 피드백 수집 | 점진적 적용, MVP 파일럿 운영 | 변화 리더 양성, 성공 사례 공유, 인센티브 기반 변화 확산 |
운영 및 거버넌스 도전 과제
카테고리 | 과제명 | 원인 | 영향 | 탐지 및 진단 | 예방 방법 | 해결 방법 및 기법 |
---|---|---|---|---|---|---|
품질 관리 | 데이터 계약 불일치 | 스키마 자동화 미흡, 수작업 배포로 인한 편차 | 분석 오류, 계약 위반 | Contract 테스트 실패율, 소비자 이슈 | 테스트 기반 배포 차단 | dbt + CI/CD 파이프라인 통합 테스트 적용 |
카탈로그 관리 | 데이터 제품 누락 | 문서화/등록 미흡, Git 또는 Data Catalog 연동 부족 | 검색 불가, 재작업 발생 | 누락 제품 탐색, 제품 정의 일관성 검사 | 등록 자동화 정책 (Git Hook, PR 검사) 적용 | DataHub API 자동 등록, 검수 체크리스트 도입 |
컴플라이언스 | 거버넌스 정책 통제 실패 | 정책 코드화 미흡, 도메인 간 집행 강도 차이 | 데이터 유출, 법적 위반 | 감사 로그, 정책 누락 스캔 | 중앙 정책 템플릿 공유, 표준 정책 코드화 | OPA + Data Catalog 연동, Policy 자동화 및 모니터링 |
분류 기준에 따른 종류 및 유형
Data Mesh 자체는 아키텍처 스타일이기 때문에 분류는 보통 도입 형태, 기술 구성, 조직 방식 등에 따라 나뉜다.
유형
분류 기준 | 유형 | 특징 및 설명 | 적용 사례 / 대표 기술 |
---|---|---|---|
1. 도입 범위 | Full Mesh | 전사적인 전면 도입. 모든 도메인과 데이터 제품이 Mesh 원칙을 따름 | Netflix, Zalando 등 |
Hybrid Mesh | 일부 도메인 또는 파이프라인만 단계적으로 전환. 기존 DWH/Lake 와 공존 | 대부분의 대기업 초기 전환 사례 | |
Federated Mesh | 지역/사업 부문별로 자율적으로 구현하되 최소한의 공통 정책 유지 | 글로벌 기업 (지사 중심 Mesh 구조) |
기술 구성
분류 기준 | 기술 구성 | 특징 및 설명 | 적용 기술/도구 |
---|---|---|---|
2. 기술 스택 | Cloud-Native Mesh | 완전한 클라우드 환경에서 구현. 클라우드 서비스로 구성된 파이프라인 활용 | AWS Lake Formation, Azure Synapse |
Open-Source Mesh | Apache 기반 오픈소스 생태계 중심 구성 | Kafka, Flink, dbt, Iceberg, Airflow 등 | |
Vendor-Specific Mesh | 특정 벤더 솔루션에 종속된 구조 | Snowflake, Databricks, Informatica 등 | |
3. 처리 방식 | Streaming 기반 | 실시간 이벤트 처리 중심 구성 | Apache Kafka, Flink, Pulsar |
Batch 기반 | 정기적 ETL 처리 중심 구성 | Apache Airflow, dbt, Spark |
조직 구조/운영 전략
분류 기준 | 조직 구조/운영 전략 | 특징 및 설명 | 적용 방식 |
---|---|---|---|
4. 조직 정렬 | Domain-Aligned Mesh | 팀과 데이터 도메인이 1:1 매핑되어 독립적으로 운영. DDD 기반의 조직 구조 반영 | 도메인 별 팀 운영 (ex: product, marketing 등) |
5. 도입 전략 | Top-Down Mesh | 중앙 조직 (데이터 플랫폼팀 등) 의 전략적 주도 하에 설계 및 이행 | 거버넌스/표준 먼저 정의 후 도메인 확산 |
Bottom-Up Mesh | 각 도메인 팀의 요구 기반으로 자연스럽게 확산됨. 실험적 도입에서 시작하는 경우 많음 | 파일럿 프로젝트 → 점진적 확장 구조 |
거버넌스 방식
분류 기준 | 거버넌스 방식 | 특징 및 설명 | 적용 사례 |
---|---|---|---|
6. 거버넌스 수준 | Centralized Governance | 중앙 정책과 통제 중심 구조. 강한 규제 산업에서 적합 | 금융, 의료 등 규제 산업 |
Federated Governance | 중앙 정책 + 도메인 자율성 병행. 대부분의 기업에서 현실적으로 채택 | 엔터프라이즈 SaaS 기업 등 | |
Decentralized Governance | 거버넌스 전반을 도메인에 위임. 혁신 중심의 유연한 구조 가능 | 스타트업, 기술 중심 조직 |
데이터 제품 유형
분류 기준 | 데이터 제품 유형 | 특징 및 설명 | 적용 형태 |
---|---|---|---|
7. 데이터 제품 | API 기반 제품 | REST, GraphQL 등 인터페이스 중심 제품. 외부 시스템과 직접 통합 | 고객 API, 데이터 서비스 API 등 |
파일 기반 제품 | 정해진 주기로 전달되는 CSV/Parquet 등 정적 파일 형태 | 배치 분석, Data Lake 연계 등 | |
스트리밍 기반 제품 | 이벤트 기반 데이터 소비. 실시간 피드 제공 | Kafka Topic, Webhook 등 실시간 통합 |
Data Mesh vs. Data Lakehouse
항목 | Data Mesh | Data Lakehouse |
---|---|---|
정의 | 도메인 중심 분산형 데이터 아키텍처 | 데이터 웨어하우스 + 데이터 레이크의 통합 저장 구조 |
중심 개념 | 데이터 소유권의 분산, 제품화된 데이터 제공 | 단일 저장소에서 BI/ML/분석을 통합 처리 |
핵심 가치 | 확장성, 자율성, 도메인 책임 | 일관성, 통합된 성능, 관리 효율성 |
구현 대상 | 조직 구조 및 운영 패턴 | 저장소, 포맷, 쿼리 엔진 아키텍처 |
상세 비교
비교 항목 | Data Mesh | Data Lakehouse |
---|---|---|
조직 구조 | 도메인 팀 중심, 분산 소유권 | 중앙 분석팀 중심 또는 공유 플랫폼 |
데이터 저장소 | 분산 저장소 (예: S3, Delta, 각 도메인별로 구성) | 통합 저장소 (ex. Delta Lake, Apache Iceberg) |
거버넌스 모델 | Federated Governance (분산 + 자동화 정책) | 중앙 집중형 거버넌스 (기술 기반 보안) |
메타데이터 관리 | 도메인 주도 등록, 카탈로그 기반 (ex. DataHub) | 단일 메타데이터 레이어에서 통합 관리 |
기술 예시 | dbt + Airflow + DataHub + OPA | Databricks + Delta Lake + Unity Catalog |
운영 난이도 | 조직적 난이도 ↑, 기술적 유연성 ↑ | 기술적 구성 복잡도 ↑, 운영 자동화 ↑ |
사용 시기 | 조직이 크고, 도메인별 데이터 책임이 명확한 경우 | 저장소 통합과 성능이 중요한 경우 |
ML/BI 통합성 | 팀 별 책임 하에 API 제공 | 중앙 통합 플랫폼에서 분석 + 모델링 수행 |
실무 사용 예시
산업 분야 | 활용 도메인 | 주요 목적 | 사용 기술/구성 방식 | 기대 효과 |
---|---|---|---|---|
전자상거래 (이커머스) | 고객, 주문, 상품, 결제 | 개인화 추천, 주문 유입 분석 | Data Mesh + Data Lake + dbt + DataHub | 실시간 추천 향상, 분석 주기 단축 |
금융서비스 | 고객, 거래, 리스크, 컴플라이언스 | 리스크 모델링, 규제 리포팅, SLA 기반 데이터 제공 | 도메인 DB → Airflow → Delta Lake → OPA 정책 API | 규제 준수, 품질 보장, SLA 관리 |
제조업 (스마트팩토리) | 센서, 생산, 공급망, 품질 | 실시간 공정 모니터링, 예지 정비 | Kafka → Flink → 도메인 처리 → 카탈로그 등록 | 실시간 품질 개선, 설비 운영 효율화 |
헬스케어/의료 | 환자, 진료, 연구, 관리 | 환자 기록 공유, 분석 기반 치료 품질 향상 | 도메인 ETL → 민감 정보 암호화 → API 제품화 + 문서화 | 프라이버시 보호, 데이터 표준화 및 신뢰 향상 |
미디어/엔터테인먼트 | 콘텐츠, 사용자, 광고, 플랫폼 | 콘텐츠 맞춤 제공, 사용자 행동 기반 분석 | 스트리밍 기반 Data Mesh + 사용자 행동 로그 처리 → 모델 추론 | 사용자 경험 개선, 광고 최적화 |
공공/정부 | 정책, 인구, 복지, 행정 | 부처 간 데이터 연계, 신속한 정책 결정 지원 | 도메인 중심의 카탈로그 연계 + Open Data API | 데이터 개방성 향상, 협업 기반 정책 결정 |
활용 사례
사례 1: Netflix 의 Data Mesh 구현
Netflix 는 Data Mesh 아키텍처를 도입하여 콘텐츠 추천과 플랫폼 운영을 혁신했다.
시스템 구성:
graph TB subgraph "Netflix Data Mesh Architecture" subgraph "Content Domain" CD[Content Team] CM[Content Metadata] CR[Content Recommendations] end subgraph "User Domain" UD[User Team] UP[User Profiles] UB[User Behavior] end subgraph "Platform Domain" PD[Platform Team] PM[Platform Metrics] PP[Platform Performance] end subgraph "Shared Infrastructure" K[Apache Kafka] I[Apache Iceberg] S[Spark/Flink] MW[Microservices] end subgraph "Self-serve Platform" DP[Data Pipeline Tools] DC[Data Catalog] MF[ML Feature Store] end end CD --> CM CD --> CR UD --> UP UD --> UB PD --> PM PD --> PP CM --> K UP --> K PM --> K K --> I K --> S CR --> MF UB --> MF PP --> MF DP --> S DC --> I
Workflow:
- 데이터 수집: 각 도메인이 자체 데이터를 실시간 수집
- 데이터 제품화: 도메인별 특화된 데이터 제품 생성
- 크로스 도메인 분석: 추천 알고리즘을 위한 다중 도메인 데이터 활용
- 실시간 서비스: 개인화된 콘텐츠 추천 제공
Data Mesh 역할:
- 콘텐츠 도메인: 메타데이터 관리 및 콘텐츠 분석
- 사용자 도메인: 시청 패턴 분석 및 프로파일링
- 플랫폼 도메인: 성능 모니터링 및 최적화
사례 2: 글로벌 이커머스 기업의 Data Mesh 도입 사례
시스템 구성:
- 도메인별 (상품, 주문, 고객 등) 데이터팀 → 데이터 제품 (API, 데이터셋) → 자율적 데이터 플랫폼 (저장, 처리, 배포) → 데이터 카탈로그 및 거버넌스
Workflow:
- 각 도메인팀이 자체적으로 데이터 제품 설계·운영
- 자율적 데이터 플랫폼에서 데이터 저장, 처리, 배포 자동화
- 데이터 카탈로그를 통해 조직 내 다른 팀이 데이터 탐색·소비
- 연합형 거버넌스로 품질, 보안, 규제 준수 자동화
Data Mesh Architecture 의 역할:
도메인별 데이터 소유권 강화, 데이터 제품화, 운영 자동화, 데이터 활용 극대화
Data Mesh Architecture 유무에 따른 차이:
- 도입 전:
중앙 데이터팀 병목, 데이터 활용 속도 저하, 품질/보안 문제 - 도입 후:
도메인별 신속한 데이터 제품 개발, 데이터 품질·보안·규제 준수 강화, 데이터 소비·공유 활성화
사례 3: 전자상거래 주문 분석
데이터 메쉬를 도입하여 주문 도메인이 독립적으로 주문 데이터를 처리하고, 분석팀과 공유하는 구조를 구현.
구성 및 역할:
- 도메인 A 팀: 주문 로그 ETL → dbt 모델링 → Data Product A
- Self-Serve 플랫폼: Airflow, Terraform, dbt, DataHub, OPA 기반
- Governance 팀: 데이터 계약 검증, SLA 설정, 보안 정책 관리
- 분석팀: Catalog 에서 Data Product 검색, SQL API 사용
시스템 구성:
flowchart LR subgraph OrderDomain LogDB[(Orders DB)] ETL[Airflow] dbtModel[dbt Models] ProdA[(Data Product A)] end subgraph Platform Terraform DataHub OPA Catalog[(Metadata Catalog)] end subgraph Analyst Consumer[분석팀 Consumer] end LogDB --> ETL --> dbtModel --> ProdA ProdA --> Catalog ETL -.-> OPA Terraform --> Platform Consumer --> Catalog --> ProdA
구현 예시
Python
|
|
이 구현 예시는 Data Mesh 의 핵심 개념들을 실제 코드로 구현하여 다음을 보여준다:
- 도메인 중심 데이터 소유권: 각 도메인이 자체 데이터 제품을 소유하고 관리
- 데이터 제품화: 명확한 SLA, 스키마, 메타데이터를 가진 데이터 자산
- 셀프서비스 인프라: 도메인팀이 자율적으로 활용할 수 있는 플랫폼
- 연합 거버넌스: 전사 정책과 도메인 자율성의 균형
Python + Dbt + OPA
아래 코드는 주문 데이터 제품 생성 시나리오.
dbt
로 스키마 작성Airflow
DAG 내에dbt
실행OPA
정책 검사catalog_api.py
로 MetadataHub 에 등록
Dbt 모델 (
models/orders_product.sql
)1 2 3 4 5 6 7 8 9 10 11 12 13 14
-- 주문 데이터를 분석용으로 가공 with raw_orders as ( select * from {{ source('orders_db','orders') }} ), enriched as ( select order_id, user_id, total_amount, order_date, case when total_amount > 1000 then 'high' else 'normal' end as order_value_segment from raw_orders ) select * from enriched;
Airflow DAG (
dags/orders_product.py
)1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
from airflow import DAG from airflow.operators.bash import BashOperator from airflow.operators.python import PythonOperator from datetime import datetime def publish_metadata(): from catalog_api import register_data_product register_data_product( name="orders_product", schema="enriched schema...", sla_hours=24 ) with DAG("orders_data_product", start_date=datetime(2025,7,1), schedule_interval='@daily') as dag: run_dbt = BashOperator( task_id='run_dbt', bash_command='cd /opt/dbt && dbt run --models orders_product' ) check_opa = BashOperator( task_id='check_opa', bash_command='opa eval --data policies/ --input prod_manifest.json "data.contracts.allow"' ) publish = PythonOperator(task_id='publish_metadata', python_callable=publish_metadata) run_dbt >> check_opa >> publish
Metadata 등록 (
catalog_api.py
)1 2 3 4 5 6 7 8 9 10 11 12
import requests def register_data_product(name, schema, sla_hours): api_url = "https://datahub.internal/api/register" payload = { "name": name, "schema": schema, "sla": sla_hours, "owner": "order-domain-team" } resp = requests.post(api_url, json=payload) resp.raise_for_status()
역할 및 기능 주석
- dbt 모델: 스키마와 파이프라인 정의, 테스트 지원
- Airflow DAG: 파이프라인 흐름, 정책 검사, 메타데이터 등록 포함
- OPA 검사: 정책 위반 여부 자동 탐지
- MetadataHub 등록: 소비자 조회 및 거버넌스 감시 대상 등록
실무에서 효과적으로 적용하기 위한 고려사항 및 주의할 점
카테고리 | 고려사항 | 설명 | 권장사항 |
---|---|---|---|
조직 구조 및 문화 | 도메인 중심 조직 설계 | 데이터 오너십을 중심으로 한 도메인 분산 책임 구조 | Conway’s Law 기반 팀 구조 정의 및 OKR 연계 |
도메인 역량 편차 해소 | 팀 간 데이터 관련 기술 및 운영 수준의 불균형 | 교육, 가이드 제공, 중앙 지원 플랫폼 마련 | |
표준화 및 계약 | 인터페이스 및 스키마 표준화 | Schema, API, SLA 등 데이터 계약 기반의 일관성 확보 | JSON Schema, dbt test 등으로 계약 자동화 |
문서화 및 계약 관리 | 데이터 정의, 책임, 사용법 등을 명확히 하고 유지 | API 문서화 도구 및 계약 레지스트리 활용 | |
데이터 품질 관리 | 품질 기준 체계화 | 도메인마다 상이한 품질 기준을 통일해 모니터링과 개선이 가능하도록 구성 | 공통 품질 메트릭 도입 + 도메인 맞춤형 품질 기준 적용 |
품질 검증 자동화 | 수동 점검에 의존할 경우 오류 탐지와 대응이 늦어질 수 있음 | Great Expectations, 알림 시스템, 테스트 자동화 도구 도입 | |
거버넌스 | 정책 수립 및 관리 | 접근 제어, 데이터 분류, 컴플라이언스 기준의 균형 있는 관리 필요 | 중앙 + 분산 거버넌스 병행, 정책 자동화 도구 (예: OPA) 활용 |
컴플라이언스 및 보안 | 분산된 환경에서 규정 준수와 보안 정책의 일관성 유지 필요 | 제로 트러스트 보안 모델, 정책 코드화, 감사를 위한 로깅 연계 | |
플랫폼 및 인프라 | 기술 스택 유연성 확보 | 도메인 간 요구사항이 상이하여 단일 기술 강요 시 제약 발생 | 공통 플랫폼 제공 + 필요 시 템플릿/옵션 선택 가능 구조 제공 |
자동화된 셀프서비스 구성 | 인프라 구성의 자율성과 신속한 제공을 위한 기반 필요 | Helm Chart, Terraform, 템플릿 기반 셀프서비스 제공 | |
비용 및 운영 | 리소스 및 비용 최적화 | 도메인 간 중복 투자, 자원 낭비 발생 가능성 있음 | Chargeback 모델 도입, 리소스 사용량 기반 모니터링 |
최적화하기 위한 고려사항 및 주의할 점
카테고리 | 주제 | 설명 | 주의할 점 | 권장사항 |
---|---|---|---|---|
성능 | 파이프라인 처리 구조 | 데이터 처리량, 지연 시간, 처리 효율 중심의 최적화 | 모든 흐름을 실시간으로 처리하려는 과도한 요구 | 배치와 스트리밍의 조합, Spark/Flink 등 활용 |
데이터 분산 처리 | 병렬성과 확장성 확보를 위한 처리 단위 설계 | 적절하지 않은 파티셔닝으로 인한 성능 저하 | 시간·도메인 기반 파티셔닝 적용 | |
비용 | 도메인별 비용 제어 | 서비스 단위별로 리소스 사용량과 비용을 모니터링 | 무분별한 리소스 요청, 불명확한 비용 책임 | FinOps 기반 도메인 비용 태깅 및 분석 |
공통 인프라 활용 | 중복 인프라 배제, 공유 자원 극대화 | 모든 워크로드에 단일 인프라 강제 적용 | 공유 + 전용 자원의 균형 설계 | |
운영 | 자동화 수준 조절 | 운영 효율을 위한 자동화 구현 | 과도한 자동화로 인한 예외 처리 어려움 | 수동 ↔ 자동 전환 가능한 모듈화된 설계 |
모니터링 체계 설계 | 핵심 메트릭 중심으로 가시성 확보 | 무분별한 메트릭 수집으로 성능과 비용 증가 | 비즈니스 중심 주요 지표에 집중 | |
운영 워크플로 자동화 | 품질 점검, 거버넌스, 승인 등 반복 작업 자동화 | 복잡한 자동화 조건에 따른 장애 발생 가능성 | Airflow, Argo 등 활용한 단계적 자동화 | |
설계/확장성 | 아키텍처 확장성 | 장기 성장성과 유지보수를 고려한 확장 가능 구조 설계 | 단기 성능만 고려한 비확장형 아키텍처 설계 | 유연한 모듈 설계 및 인터페이스 기반 연결 |
도구 및 기술 선택 | 조직 규모와 데이터 특성에 맞는 기술 도입 | 초기 도입 시 과잉 설계, Vendor Lock-in 유도 가능성 | 오픈 표준 및 커뮤니티 중심 기술 우선 고려 | |
데이터 활용 | 카탈로그 활용도 | 중복 방지, 검색성 향상, 도메인 간 협업 강화 | 메타데이터 불일치, 관리 체계 미흡 | DataHub 등 자동 수집 도구 + 메타데이터 템플릿화 |
분석 도구 일관성 유지 | 공통 플랫폼 기반으로 분석 도구 통합 | 도메인별로 도구가 파편화되면 유지·교육 비용 증가 | 공통 분석 환경 + 특화 도구 허용 구조 구성 | |
데이터 중복 관리 | 도메인 간 동일 데이터 중복 생성 최소화 | 중복 데이터로 인한 혼선 및 일관성 문제 | 계보 기반 리니지 추적 + 중복 탐지 도구 적용 | |
보안/접근제어 | 접근 권한 관리 | 정책 기반 접근 제어 및 감사 기능 구현 | 임시 권한·역할의 방치로 인한 보안 허점 | IAM + Role-Based Policy 통합 설계 |
프라이버시/보안 강화 | 개인정보 보호와 접근 제어의 균형 유지 | 민감 정보의 비식별화 없이 분석 시스템에 노출 | 차등 프라이버시 적용, E2E 암호화 적용 | |
표준화 | 데이터/정책 표준화 | 데이터 정의, 처리 규칙, 인터페이스를 표준화 | 과도한 규제로 도메인 자율성과 혁신 제한 | 필수 최소 표준 + 권장 가이드 제공 (Golden Path 방식) |
API/스키마 통합 관리 | 시스템 간 상호 운용성 및 재사용성을 위한 통일된 정의 관리 | 하위 호환성 없이 빈번한 변경으로 통합 장애 유발 | Schema Registry 및 API 버저닝 정책 운영 |
주제와 관련하여 주목할 내용
카테고리 | 세부 주제 | 핵심 항목 | 설명 |
---|---|---|---|
1. 아키텍처 철학 | 아키텍처 스타일 | Data Mesh | 도메인 중심의 분산 데이터 아키텍처. 각 도메인이 데이터 제품 소유 |
아키텍처 전환 모델 | Hybrid Mesh | 기존 DWH/Lake 과 공존하며 점진적 도입하는 방식 | |
조직 구조와 아키텍처 연결 | Conway’s Law | 조직 구조가 소프트웨어 아키텍처에 영향을 준다는 원칙 | |
설계 기반 철학 | Domain-Driven Design (DDD) | 비즈니스 도메인 중심의 시스템 설계 접근 | |
도메인 경계 | Bounded Context | DDD 의 경계 컨텍스트, 책임 영역 분리의 기준 | |
2. 데이터 제품화 | 데이터 제품 개념 | Data as a Product | 데이터를 API, SLA, 문서화 포함한 제품 단위로 간주 |
문서화 및 API 설계 | OpenAPI / GraphQL | 데이터 인터페이스 표준화 도구 및 규약 | |
데이터 계약 | Data Contract | 데이터 품질/SLA/스키마를 정의한 계약서 | |
자동화 구현 도구 | dbt, Airflow | 데이터 처리/품질 검증/모델링 자동화 | |
실시간 처리 | Stream Processing (Flink, Kafka) | 실시간 데이터 분석 및 처리에 적합한 분산 스트리밍 기술 | |
3. 플랫폼 및 인프라 | 도메인 자율 플랫폼 | Self-Serve Platform | 도메인 팀이 독립적으로 데이터 파이프라인 구축/운영 가능 |
인프라 코드화 | Infrastructure as Code (IaC) | Terraform 등으로 인프라 구성 자동화 | |
운영 자동화 | GitOps | Git 저장소 기반으로 운영/배포 자동화 | |
메타데이터 관리 플랫폼 | Apache Atlas, DataHub | 메타데이터 수집, 검색, 리니지 추적 시스템 | |
오픈 테이블 포맷 | Apache Iceberg | 대용량 분석을 위한 벤더 중립적 테이블 포맷 | |
4. 거버넌스 및 보안 | 거버넌스 전략 | Federated Governance | 중앙 정책 + 도메인 자율성을 병행하는 모델 |
정책 자동화 | Policy as Code / OPA | 정책을 코드로 관리하고, 자동으로 적용 | |
보안 철학 | Zero Trust | 사용자/요청 기반 인증·인가 강화된 보안 접근 | |
개인정보 보호 | Differential Privacy | 데이터 통계 분석 시 개인 정보 보호 강화 기법 | |
암호화 | End-to-End Encryption | 데이터 저장/전송 전 구간에서 암호화 처리 | |
5. 운영 및 조직 전략 | 도메인 주도 운영 구조 | 데이터 소유권 | 각 도메인이 데이터 책임과 통제를 가짐 |
조직 역량 중심 운영 모델 | Center of Excellence (CoE) | 조직 간 격차 해소 및 베스트 프랙티스 전파 | |
제품 탐색/관리 도구 | 데이터 카탈로그 | 데이터 검색, 문서화, 메타데이터 관리 기능 제공 | |
6. 기술 트렌드 | 클라우드 네이티브 | 서버리스 아키텍처 | 관리형 환경에서의 함수 기반 처리로 운영 효율화 |
AI/ML 통합 | MLOps 플랫폼 | ML 모델 개발·운영 자동화, 데이터 메시 연계 | |
실시간 분석 | 스트리밍 분석 | 이벤트 기반 실시간 데이터 처리 구조 |
반드시 학습해야할 내용
대분류 | 중분류 | 항목 | 설명 |
---|---|---|---|
아키텍처 | 마이크로서비스 | Domain-Driven Design | 도메인 경계 설정의 이론적 기반 |
이벤트 아키텍처 | Event Sourcing / CQRS | 이벤트 기반 아키텍처에서 일관성과 확장성 보장 | |
API 설계 | RESTful / GraphQL | 데이터 제품 인터페이스 설계 표준 | |
데이터 아키텍처 | Data Mesh Core (4 대 원리) | Domain Ownership, Data as a Product, Self-Serve Infra, Federated Governance | |
구조 비교 | Data Mesh vs Lakehouse | 전통적 데이터 웨어하우스, 레이크하우스와의 비교 및 차이점 | |
데이터 플랫폼 | 셀프서비스 인프라 | 구성 요소 (ETL/카탈로그 등) | 데이터 처리, 권한, 모니터링 등을 포함한 플랫폼 기반 |
워크플로우 관리 | Apache Airflow | 데이터 파이프라인을 정의하고 스케줄링 및 실행하는 오케스트레이션 도구 | |
스트림 처리 | Apache Kafka | 실시간 데이터 처리 및 이벤트 스트리밍을 위한 메시징 시스템 | |
데이터 저장소 | Apache Iceberg / Delta Lake | 확장 가능한 테이블 포맷 기반 저장 시스템 | |
DevOps | 컨테이너화 | Kubernetes / Docker | 마이크로서비스 배포, 확장, 자가 복구 등을 지원하는 플랫폼 |
CI/CD | GitOps | Git 기반 선언형 자동 배포 파이프라인 | |
모니터링 | Prometheus / Grafana | 시스템 및 비즈니스 메트릭 수집과 시각화 도구 | |
거버넌스 | 연합형 거버넌스 | 정책 / 자동화 | 중앙화 + 분산화된 접근제어 및 컴플라이언스 전략 |
정책 엔진 | OPA (Open Policy Agent) | 정책 기반 접근 제어 및 분류 규칙 자동화 구현 도구 | |
데이터 카탈로그 | Apache Atlas / DataHub | 메타데이터 관리, 데이터 검색, 계보 추적 등을 위한 카탈로그 시스템 | |
컴플라이언스 | GDPR / CCPA | 글로벌 데이터 프라이버시 및 규정 준수 기준 | |
서비스 품질 지표 | SLA / SLI / SLO | 신뢰성 기반 데이터 제품의 운영 품질 보장 | |
데이터 품질 | 자동화 검증 | Great Expectations | 기대값 기반의 자동화된 데이터 품질 테스트 시스템 |
계약 기반 품질 관리 | Data Contract (예: dbt test) | 스키마 및 품질을 자동화 테스트로 관리, 통합 | |
품질 모니터링 | 테스트 / 알람 시스템 | 품질 이상 감지 및 대응을 위한 자동화된 시스템 구축 | |
제품화 | 데이터 제품 라이프사이클 | 설계 ~ 폐기 단계 정의 | 데이터 제품의 기획, 개발, 운영, 폐기까지의 전 생애주기 정의 |
API / 문서화 | 표준화 및 상호운용성 강화 | 데이터 제품을 소비하기 쉽게 하기 위한 인터페이스 및 문서 제공 전략 | |
조직·문화 | 역할 변화 | 오너십 및 책임 변화 | 데이터 책임 주체의 명확화 및 역할 재정립 |
용어 정리
대분류 | 소분류 | 용어 | 설명 |
---|---|---|---|
아키텍처 | 아키텍처 스타일 | Data Mesh | 도메인 중심의 분산 데이터 아키텍처 스타일로, 각 도메인이 데이터의 소유권과 책임을 가짐 |
설계 원칙 | Domain-Driven Design (DDD) | 비즈니스 도메인 중심의 소프트웨어 설계 접근법 | |
설계 원칙 | Bounded Context | DDD 에서 도메인 모델이 적용되는 경계를 명확히 정의하는 영역 | |
조직 구조 반영 | Conway’s Law | 조직 구조가 소프트웨어 아키텍처에 영향을 준다는 법칙 | |
데이터 제품 | 개념 정의 | Data as a Product | 데이터를 소비 가능한 완결된 제품으로 보고, API, SLA, 문서 등 포함 |
데이터 단위 | Data Product | 소비자 관점에서 설계된 데이터 단위로, 메타데이터와 API 등을 포함 | |
품질 계약 | Data Contract | 데이터 구조, SLA, 품질 기준 등을 명시한 계약 | |
거버넌스 | 운영 모델 | Federated Governance | 중앙집중 정책과 도메인 자율성을 병행하는 분산형 거버넌스 모델 |
코드 기반 정책 집행 | Policy as Code | 정책을 코드로 정의하고 자동화하는 접근 방식 | |
정책 엔진 | OPA (Open Policy Agent) | 코드 기반 정책 자동화를 위한 오픈소스 엔진 | |
데이터 흐름 추적 | Data Lineage | 데이터의 생성부터 소비까지의 흐름을 추적 및 시각화하는 기법 | |
플랫폼 및 인프라 | 자율 플랫폼 | Self-Serve Platform | 도메인 팀이 독립적으로 데이터 파이프라인을 구축·운영할 수 있는 플랫폼 |
인프라 자동화 | Infrastructure as Code (IaC) | 인프라 리소스를 코드로 정의하고 관리하는 방법론 | |
운영 자동화 | GitOps | Git 저장소를 통해 배포와 운영을 자동화하는 접근법 | |
메타데이터 관리 | Metadata Catalog | 데이터 검색, 이해, 관계 추적을 위한 메타데이터 저장소 시스템 | |
데이터 기술 | 테이블 포맷 | Apache Iceberg | 대규모 분석 데이터 처리용 오픈 테이블 포맷 |
스키마 관리 | Schema Registry | 데이터 스키마의 버전 및 호환성 관리를 위한 중앙 저장소 | |
이벤트 기반 아키텍처 | Event Sourcing | 상태 변경을 이벤트로 기록하고, 이를 소스로 시스템을 구성하는 패턴 | |
읽기/쓰기 분리 | CQRS | Command(쓰기) 와 Query(읽기) 를 명확히 분리하는 아키텍처 패턴 | |
도구 | 메타데이터 관리 도구 | DataHub | 메타데이터 수집, 계보 추적, 검색, 품질 관리를 제공하는 오픈소스 플랫폼 |
데이터 모델링 도구 | dbt | SQL 기반 데이터 모델링, 문서화, 테스트를 자동화하는 툴 |
참고 및 출처
- Data Mesh Principles and Logical Architecture - Martin Fowler
- What is Data Mesh Architecture? Principles & Components - Atlan
- Data Mesh Architecture from an Engineering Perspective - INNOQ
- Mastering Data Mesh Architecture: Key Implementation Components - Acceldata
- What Is A Data Mesh — And How Not To Mesh It Up - Monte Carlo
- What is a Data Mesh? - AWS
- The Heart of the Data Mesh Beats Real-Time with Apache Kafka - Kai Waehner
- Apache Iceberg 공식 문서
- Netflix Data Mesh Case Study - Nash Tech
- Data Mesh Overview: Architecture & Case Studies for 2025 - Atlan