한 번 모델링하고 어디서나 표현: Netflix의 UDA (Unified Data Architecture)

16 hours ago 2

  • Netflix는 비즈니스 도메인(예: 영화, 배우, 시리즈 등)의 데이터 모델링이 각 시스템마다 중복·불일치·비표준 용어로 인해 협업 및 데이터 품질 문제에 직면함
  • UDA(통합 데이터 아키텍처)는 '한 번 모델링, 어디서나 표현'을 목표로 도메인 개념을 한 번 정의하고, 다양한 시스템에 일관되게 투영·연결하는 지식 그래프 기반 인프라임
  • UDA는 도메인 모델→데이터 컨테이너(예: GraphQL, Avro, Iceberg 등)로 자동 스키마 생성·매핑·데이터 이동 자동화를 지원
  • 비즈니스 사용자는 Sphere·PDM 같은 UDA 활용 도구를 통해, 용어 검색만으로 데이터 탐색·보고서 생성·참조 데이터 관리 가능
  • RDF·SHACL 등 시맨틱 기술 위에 자체 Upper 메타모델을 적용하여 대규모 협업·거버넌스·스키마 일관성·확장성을 모두 달성함

Netflix 시스템의 복잡성 증가와 도메인 모델의 도전 과제

  • Netflix 서비스가 영화, 시리즈, 게임, 라이브 이벤트, 광고 등으로 확대됨에 따라, 이를 지원하는 시스템 복잡성도 크게 증가함
  • ‘actor’, ‘movie’와 같은 핵심 비즈니스 개념이 서로 다른 시스템(Enterprise GraphQL Gateway, 자산 관리 플랫폼, 미디어 컴퓨팅 등)에서 개별적으로 정의되고, 협력이나 공유 없이 분절적으로 운용됨
  • 이로 인해 다음과 같은 문제 발생
    • 중복 및 불일치 모델: 각기 다른 시스템에서 같은 엔터티를 재정의, 충돌 방지 어려움
    • 용어 불일치: 동일한 시스템 내에서도 서로 다른 용어 사용 또는 같은 용어의 중복 사용으로 소통 혼선
    • 데이터 품질 문제: 수많은 마이크로서비스 간 불일치·참조 오류 존재, 식별자나 외부 키 관리도 미흡해 수동 개선 필요
    • 연결성 한계: 시스템 내 관계성 제한 및 시스템 간 연계 미흡
  • 이런 문제를 해결하려면, 한 번 개념 모델 정의 후 모든 곳에서 재사용하고, 실 시스템 및 데이터와 실질적으로 연결·통합하는 기반이 필요함

UDA(통합 데이터 아키텍처) 개요

  • UDA는 Netflix Content Engineering 내 데이터 연결성 기반 플랫폼
  • 도메인 모델(비즈니스 개념)을 한 번 정의하여, 모든 시스템에 일관 투영 및 자동화·발견·시맨틱 상호운용성 지원
  • UDA로 가능한 주요 기능
    • 도메인 모델 등록 및 연결: 공식 개념 정의를 단일 소스로 사용해, 팀 간 혼동·중복 모델링 방지
    • 도메인 모델과 데이터 컨테이너 매핑: 비즈니스 개념과 실제 데이터가 저장된 위치(데이터베이스, 테이블, 서비스 등)와 구조를 쉽게 파악할 수 있도록 그래프 구조로 표현
    • 도메인 모델을 스키마 정의 언어로 변환: GraphQL, Avro, SQL, RDF, Java 등 다양한 시스템별로 자동 변환, 수작업 최소화와 오류 감소 실현
    • 데이터 컨테이너 간 신뢰성 있는 데이터 이동: GraphQL 엔티티, Data Mesh, CDC, Iceberg 등 시스템 간 데이터 변환·이동 자동 처리
    • 도메인 개념 탐색 및 검색: 비즈니스 개념 간 관계를 탐색 및 검색 가능, 정확한 정보 획득 용이
    • 지식 그래프 프로그래밍적 인트로스펙션 제공: Java, GraphQL, SPARQL로 연결된 비즈니스 정보 활용, 자동화 및 인사이트 도출

UDA의 핵심 아키텍처

  • Knowledge Graph 기반

    • RDF/SHACL 기반 지식 그래프로, 도메인 모델·스키마·데이터 컨테이너·매핑 등 모든 요소를 그래프 데이터로 연결
    • 명명된 그래프(named graph) 중심 정보모델로, 각 named graph가 규칙적 거버넌스 모델을 따르고, 해석 체계 및 모듈화, 운영 정책 실현
  • Upper 메타모델

    • Upper는 도메인 모델을 엄격히 정의하는 메타모델 언어
    • 도메인별 키 엔터티/속성/관계를 타입·계층구조로 모델링하며, RDF로 표현·버전 관리·쿼리 가능
    • Upper 자체도 Upper로 모델링(자기참조, 자기유효화)되어 모든 확장·투영에 일관성 제공
    • 속성 값에 대해 도메인별 맞춤 가능하고, 모든 개념은 conceptual RDF 및 named graph로 표현, introspection·검색·버전관리 지원
    • Upper는 고수준 추상화와 함께, RDFS/OWL/SHACL 등 W3C 의미 기술 중 핵심만 엄선 적용, 온톨로지 개념을 몰라도 효과적으로 도메인 모델링 가능
    • Upper 메타모델로부터 Jena 기반 Java API 및 GraphQL 스키마 자동 생성, 실 GraphQL 서비스와 연계
  • 데이터 컨테이너 및 매핑

    • Data Container: 실제 데이터 저장소(예: GraphQL 서비스의 엔티티, Data Mesh 소스의 Avro 레코드, Iceberg 테이블의 행, Java API의 오브젝트 등)
    • 매핑(Mappings): 도메인 모델의 특정 요소와 데이터 컨테이너(테이블, 필드 등) 간의 일대일 연결 정의
    • 매핑을 통해 도메인 개념→실제 데이터 위치 추적, 반대로 데이터→관련 도메인 개념 탐색 가능
    • 의도 기반 데이터 이동/자동화: 매핑 정보를 활용해 데이터 흐름/변환을 시스템이 자동 결정
  • Projections(투영)

    • 도메인 모델→타겟 시스템 스키마(예: GraphQL, Avro 등)로 자동 변환·생성(코드·스키마·파이프라인 자동화)
    • 스키마 일관성 보장, 중복 정의 및 동기화 이슈 최소화

실제 적용 사례

  • PDM(Primary Data Management)

    • 참조 데이터 및 택소노미(계층적 분류체계) 관리 플랫폼
    • 도메인 모델을 계층적 또는 평면 분류로 변환, 비즈니스 사용자를 위한 UI 자동 생성
    • 비즈니스 용어의 일관적인 정의, SKOS 모델 기반, UDA로 Avro·GraphQL 스키마/파이프라인 자동 생성
    • 도메인 모델만 입력하면, UI/데이터 파이프라인/GraphQL API가 자동 구성
  • Sphere(Operational Reporting)

    • 지식 그래프 기반 자가 서비스 운영 리포팅 도구
    • 도메인 용어 기반 검색·탐색·조인 전략 자동화, 기술적 복잡성 없이 데이터 발견/리포트 생성 가능
    • UDA 기반 메타데이터/매핑으로, 실제 데이터 위치와 조인 논리까지 시스템이 자동 파악·실행
    • ‘actor’, ‘movie’ 같은 친숙한 용어로 개념 탐색, 선택된 개념 기반으로 지식 그래프를 따라 SQL 쿼리 자동 생성, 별도 조인이나 기술 작업 없이 데이터 획득 가능

결론 및 전망

  • UDA는 Netflix 데이터 모델링·통합 방식의 근본적 변화를 이끌고 있음
  • 한 번의 도메인 모델 정의로, 조직 전체 시스템이 일관적·자동·확장성 있는 데이터 연동 가능
  • 앞으로 Protobuf/gRPC 등 추가 지원, 지식 그래프 실데이터화 등 적용 범위 확대 예정

Read Entire Article