Netflix의 UDA: 지식 그래프 기반 통합 데이터 아키텍처와 협업 혁신
🤖 AI 추천
이 콘텐츠는 데이터 모델링의 복잡성과 일관성 유지에 어려움을 겪는 모든 IT 개발자, 데이터 엔지니어, 소프트웨어 아키텍트에게 유용합니다. 특히 대규모 시스템에서 데이터 중복, 불일치, 용어 혼선을 해결하고 효율적인 협업 및 데이터 품질 향상을 목표로 하는 분들에게 실질적인 인사이트를 제공할 것입니다.
🔖 주요 키워드
핵심 기술: Netflix는 시스템 간 데이터 모델 중복, 불일치, 용어 혼선 문제를 해결하기 위해 지식 그래프 기반의 통합 데이터 아키텍처(UDA)를 구축했습니다. UDA는 '한 번 모델링, 어디서나 표현'을 목표로 도메인 개념을 일관되게 관리하고, 다양한 데이터 컨테이너로의 자동 스키마 생성 및 데이터 이동을 지원합니다.
기술적 세부사항:
* 문제점: 각 시스템마다 분절적으로 정의된 핵심 비즈니스 개념(actor, movie 등)으로 인해 중복/불일치 모델, 용어 불일치, 데이터 품질 저하, 연결성 한계 발생.
* UDA의 목표: 도메인 모델을 단일 소스로 정의하고, 여러 시스템에 일관되게 투영하여 협업 및 데이터 품질 문제를 해결.
* 기반 기술: RDF, SHACL 등 시맨틱 기술 위에 자체 Upper 메타모델 적용.
* 주요 기능:
* 도메인 모델 등록 및 연결 (단일 소스 원칙)
* 도메인 모델과 데이터 컨테이너(GraphQL, Avro, Iceberg 등) 매핑
* 도메인 모델을 다양한 스키마 언어로 자동 변환 (GraphQL, Avro, SQL, RDF 등)
* 데이터 컨테이너 간 신뢰성 있는 데이터 이동 자동화
* 도메인 개념 탐색 및 검색, 지식 그래프 프로그래밍적 인트로스펙션.
* 핵심 구성 요소:
* Knowledge Graph 기반: RDF/SHACL 기반으로 모든 요소를 그래프 데이터로 연결, 명명된 그래프(named graph) 중심 정보 모델.
* Upper 메타모델: 도메인 모델을 엄격히 정의하는 언어로, RDF 기반이며 자기 참조 및 유효화 가능.
* 데이터 컨테이너 및 매핑: 실제 데이터 저장소와 도메인 모델 간의 연결 정의.
* Projections: 도메인 모델을 타겟 시스템 스키마로 자동 변환 및 생성.
* PDM (Primary Data Management): 참조 데이터 및 택소노미 관리 플랫폼.
* Sphere (Operational Reporting): 지식 그래프 기반 자가 서비스 운영 리포팅 도구.
개발 임팩트:
* 조직 전체 시스템의 일관성, 자동화, 확장성 있는 데이터 연동 가능.
* 수작업 최소화 및 오류 감소를 통한 개발 생산성 향상.
* 데이터 탐색 및 보고서 생성 용이성 증대.
* 향후 Protobuf/gRPC 등 추가 지원 및 지식 그래프 실데이터화 적용 범위 확대 예정.
커뮤니티 반응:
* 데이터 모델링의 복잡성과 전사적 합의의 어려움에 대한 공감대 형성.
* Netflix의 UDA 방식이 '버튼 색 바꾸는 데 두 달 걸리는 이유'와 같은 관료주의적 문제를 야기할 수 있다는 우려 제기.
* DDD와의 연관성 및 공통 언어(Ubiquitous Language)와의 차이에 대한 논의.
* 버전 관리 및 브레이킹 체인지 대응 방안에 대한 질문과 Federated GraphQL 기반의 deprecation 관리 모델 적용 계획 제시.
* 유사 프로젝트(Uber의 Dragon) 언급 및 LLM을 활용한 부담 경감 가능성 제기.
* 대규모 조직에서 공통 어휘 도입의 어려움과 Wikidata의 성공 사례 언급.
* 개념 모델과 행동 중심 모델링의 차이 및 복잡성에 대한 논의.
* 기술적 해결보다 비즈니스 및 커뮤니케이션 문제가 더 어렵다는 통찰 공유.