CHAPTER 07

🔧 플랫폼별 활용법

Apache Atlas, DataHub, Collibra 비교 및 활용

7.1 주요 데이터 카탈로그 플랫폼 비교

플랫폼 유형 강점 적합한 경우
Apache Atlas 오픈소스 Hadoop 에코시스템 Hadoop/Hive 중심 환경
DataHub 오픈소스 현대적 아키텍처, 확장성 클라우드 네이티브, 다양한 소스
Collibra 상용 엔터프라이즈 기능, 거버넌스 대기업, 강력한 거버넌스 필요
Amundsen 오픈소스 사용자 친화적 UI 데이터 디스커버리 중심
Alation 상용 협업, 크라우드소싱 데이터 문화 구축

7.2 Apache Atlas

개요

Apache Atlas는 Hadoop 에코시스템을 위한 오픈소스 데이터 거버넌스 및 메타데이터 관리 프레임워크입니다.

핵심 기능

아키텍처

Atlas Python SDK 사용 예시:
from apache_atlas.client.base_client import AtlasClient
from apache_atlas.model.instance import AtlasEntity

# 클라이언트 초기화
client = AtlasClient('http://atlas:21000', ('admin', 'password'))

# Hive 테이블 엔티티 생성
table = AtlasEntity(
    typeName='hive_table',
    attributes={
        'qualifiedName': 'sales.customers@production',
        'name': 'customers',
        'description': '고객 정보 테이블',
        'owner': 'data-team@company.com'
    }
)

# 엔티티 생성
response = client.entity.create_entity(table)
print(f"Created entity: {response.guid}")

장단점

✅ 장점:
  • Hadoop 에코시스템과 긴밀한 통합
  • 강력한 타입 시스템
  • 오픈소스 (무료)
❌ 단점:
  • 복잡한 설정 및 운영
  • UI가 직관적이지 않음
  • 클라우드 네이티브 지원 부족

7.3 DataHub

개요

DataHub는 LinkedIn에서 개발한 현대적인 메타데이터 플랫폼으로, 클라우드 네이티브 아키텍처와 확장성을 자랑합니다.

핵심 특징

아키텍처

┌─────────────────┐
│   DataHub UI    │  (React, GraphQL)
└────────┬────────┘
         │
┌────────▼────────┐
│  Metadata       │  (Spring Boot, GraphQL)
│  Service (GMS)  │
└────────┬────────┘
         │
┌────────▼────────┐
│  MySQL/Postgres │  (Primary Storage)
│  Elasticsearch  │  (Search Index)
│  Neo4j          │  (Graph, 선택)
└─────────────────┘
DataHub Python SDK 사용:
from datahub.emitter.mce_builder import make_dataset_urn
from datahub.emitter.rest_emitter import DatahubRestEmitter
from datahub.metadata.schema_classes import DatasetPropertiesClass

# Emitter 초기화
emitter = DatahubRestEmitter('http://datahub-gms:8080')

# Dataset URN 생성
dataset_urn = make_dataset_urn(
    platform='postgres',
    name='prod_db.public.customers',
    env='PROD'
)

# 메타데이터 생성
properties = DatasetPropertiesClass(
    description='고객 정보를 저장하는 메인 테이블',
    customProperties={
        'owner': 'data-team@company.com',
        'quality_score': '0.95'
    }
)

# 메타데이터 발행
emitter.emit_mcp(
    MetadataChangeProposal(
        entityUrn=dataset_urn,
        aspectName='datasetProperties',
        aspect=properties
    )
)

장단점

✅ 장점:
  • 현대적이고 확장 가능한 아키텍처
  • 활발한 커뮤니티 및 개발
  • 클라우드 네이티브
  • 풍부한 커넥터
❌ 단점:
  • 상대적으로 신생 프로젝트
  • 엔터프라이즈 기능 제한적
  • 학습 곡선

7.4 Collibra

개요

Collibra는 엔터프라이즈급 데이터 인텔리전스 플랫폼으로, 데이터 거버넌스, 카탈로그, 품질, 개인정보 보호를 통합 제공합니다.

핵심 기능

Collibra Operating Model

계층 구성 요소
조직 (Organization) 전체 기업
커뮤니티 (Community) 부서, 팀
도메인 (Domain) 비즈니스 영역
자산 (Asset) 테이블, 리포트, 용어
Collibra REST API 사용:
import requests

# API 설정
BASE_URL = 'https://company.collibra.com'
API_KEY = 'your-api-key'
headers = {
    'Authorization': f'Bearer {API_KEY}',
    'Content-Type': 'application/json'
}

# 자산 생성
asset_data = {
    'name': 'customers',
    'displayName': 'Customers Table',
    'typeId': '00000000-0000-0000-0000-000000031007',  # Table type
    'domainId': 'customer-domain-id',
    'statusId': 'active-status-id'
}

response = requests.post(
    f'{BASE_URL}/rest/2.0/assets',
    headers=headers,
    json=asset_data
)

asset = response.json()
print(f"Created asset: {asset['id']}")

장단점

✅ 장점:
  • 포괄적인 엔터프라이즈 기능
  • 강력한 거버넌스 워크플로우
  • 전문적인 지원 및 교육
  • 규제 준수 기능
❌ 단점:
  • 높은 비용
  • 복잡한 초기 설정
  • 제한적인 커스터마이징

7.5 플랫폼 선택 가이드

시나리오 추천 플랫폼
Hadoop/Hive 중심 환경 Apache Atlas
클라우드 네이티브, 빠른 성장 DataHub
대기업, 강력한 거버넌스 Collibra, Alation
스타트업, 제한된 예산 DataHub, Amundsen
규제 산업 (금융, 헬스케어) Collibra

7.6 다음 장 예고

마지막 장에서는 실전 구축 가이드를 다룹니다. 실제로 조직에 데이터 카탈로그를 구축하는 전체 프로세스를 배우게 됩니다.