데이터 제품 중심 솔루션: DataOS란?

2025. 3. 26. 02:23데이터 엔지니어링

#DataOS

1. Philosophy

Insights
- 선언형으로 구성하여 안정성을 확보하고 운영 리소스 감소시킬 수 있다.
- 데이터 제품 중심으로 만들면 가치를 중심으로 효율적으로 발전할 수 있다.
- DDP 기반의 기본 구성 요소를 통해 유연하게 조합할 수 있다.
- 운영체제처럼 데이터 인프라를 숨기고 사용자에 따라 다르게 활용할 수 있게 할 수 있다.
- 추상화하여 빠르게 변화하는 트렌드에서도 틀을 잡을 수 있다.사용자를 정의할 수 있다.

 


✅ DataOS란?

  • 데이터를 위한 운영체제(OS)로, 기존 시스템을 뜯어고치는 것이 아니라, 현재의 데이터 환경을 더 유연하고 효과적으로 운영하게 도와줍니다.
  • 전통적인 테이블 중심 구조에서 벗어나, 데이터 제품(Data Products) 중심으로 진화하는 것을 의미합니다.

🎯 왜 DataOS가 필요한가?

  • 기존 데이터 엔지니어들은 인프라 관리(plumbing)에 많은 시간을 씀 → 가치 창출보다 유지보수에 매몰됨
  • 일반 운영체제처럼, DataOS는 저수준 인프라를 추상화하여 개발자들이 데이터 애플리케이션 개발에 집중할 수 있게 함
  • 도구 간 연결, 통합, 거버넌스, 모니터링 등을 하나의 시스템으로 통일

🧱 DataOS의 구성 요소와 장점

  • DDP(Data Developer Platform) 스펙 기반
  • 데이터 통합, 처리, 저장, 분석 등 데이터 라이프사이클 전체를 지원
  • 선언형 구성(declarative config)으로 안정성 ↑, 운영 리소스 ↓
  • 다양한 데이터 사용자(데이터 사이언티스트, 데이터 엔지니어, 비즈니스 사용자 등)가 자율적으로 사용 가능

👥 DataOS 사용자 = 다양한 목적을 가진 ‘시민’

  • 운영체제처럼, 사용자마다 다른 목적으로 같은 플랫폼 사용 가능
    • 예: 게이머는 게임, 회계사는 엑셀, 음악가는 미디어 작업 → 다양한 요구를 하나의 시스템이 수용
  • 인프라 팀은 소수, 대부분의 팀은 가치 창출에 집중

🚨 기존 데이터 스택의 문제점

  • 다양한 도구들로 구성된 조립식(Assembled) 구조 → 중복, 비효율, 사용자 혼란
  • 데이터 접근하려면 여러 단계를 거쳐야 함 → 비즈니스 팀도 비효율 ↑
  • 도메인별 데이터 팀 구성은 비현실적 (인력 부족, 예산 부족 등)
  • "완전한 분산(Decentralization)"보다 "자율성(Autonomy)" 필요

🛡️ DataOS는 변화에 강하다

  • 데이터 업계는 트렌드 변화가 빠름 (ex: Data Fabric → Data Mesh → 다음은?)
  • DataOS는 이런 변화에 흔들리지 않도록 해주는 ‘완충제’
  • 핵심 원칙(DDP 기반)의 기본 구성 요소(Primitives)로 어떤 구조든 유연하게 조합 가능

 

2. Architecture

Insights
- 비즈니스 중심: ROI를 실현하는 것을 목표로 하려면 데이터와 비즈니스가 연결이 되어야 하고 측정이 필요하다.
- 도구가 아닌 단위로 역할에 따라 서비스로 크게 분리할 수 있다.
- 선언형으로 서비스를 사용하고 내부에서는 도구와 연결하는 방식으로 추상화하는 것이 큰 변화 없이 기능을 사용하면서 지속적으로 발전하는데 도움이 될 것 같다.
- 내부에서 사용하는 Native Apps는 명확하게 따로 분리하였다.
- DataOS의 철학을 활용하려면 추상화를 할 수 있는 인터페이스를 제공해줬으면 좋았을 것 같다.

  • 비즈니스 중심: ROI를 실현하는 것을 목표로 하려면 데이터와 비즈니스가 연결이 되어야 하고 측정이 필요하다.
  • 도구가 아닌 단위로 역할에 따라 서비스로 크게 분리할 수 있다. 선언형으로 서비스를 사용하고 내부에서는 도구와 연결하는 방식으로 추상화하는 것이 큰 변화 없이 기능을 사용하면서 지속적으로 발전하는데 도움이 될 것 같다.
  • 내부에서 사용하는 Native Apps는 명확하게 따로 분리하였다.
  • DataOS는 Databricks 처럼 다 해주는 느낌이다. DataOS의 철학을 활용하려면 추상화를 할 수 있는 인터페이스를 제공해줬으면 좋았을 것 같다.
 

🧠 DataOS란?

  • 도메인별 데이터 제품(Data Products)을 쉽게 만들고 운영하기 위한 데이터 전용 운영체제(OS)
  • 데이터 개발자 경험을 개선하고, IT 의존도를 낮추며, 빠른 ROI 실현과 자율성을 목표로 함.

🧩 핵심 마이크로서비스

서비스명 역할 요약
Heimdall 접근 제어 및 정책 결정(PDP) 담당
Metis 기술/비즈니스 메타데이터 수집 및 관리
Gateway 쿼리 요청 처리, 데이터 필터링 및 마스킹 수행
Caretaker 컴퓨팅 리소스 상태 모니터링 및 기록 저장
Minerva 연합 쿼리 엔진 (Compute & Storage 분리로 확장성 확보)

🧬 운영체제로서의 설계 (3계층 구조)

 
계층 설명
Cloud Kernel 클라우드 벤더(AWS/GCP/Azure) 추상화. IaC 기반, 클라우드 무관성 제공      
Core Kernel 리소스(CPU, 메모리 등) 관리. 시스템 수준 API 및 권한 제어 담당      
User Space 개발자가 데이터 제품을 개발, 배포, 운영하는 공간. GUI/CLI/API 제공      

 

3. Resources

Insights
- DataOS를 이루는 기본 단위이다.
- 워크스페이스 수준의 리소스와 인스턴스 수준의 리소스를 분리하였다.
- 쿠버네티스와 유사한 형태로 구현되었다. (YAML, IaC)

🔍 DataOS Resources란?

  • DataOS의 핵심 구성 단위로, 데이터 제품(Data Products)을 구성하는 원자적이면서도 논리적인 리소스
  • 각각은 독립적인 생명주기를 가지며, 조합하여 다양한 데이터 아키텍처 구현 가능
  • YAML 기반 구성 파일로 정의되며, 버전 관리 및 코드화 가능 (IaC)

🧱 리소스 분류

 
구분 설명
워크스페이스 수준 (Workspace-level) 사용자/팀 단위로 격리된 작업 공간에서 사용하는 리소스 (예: Cluster, Workflow, Service 등)
인스턴스 수준 (Instance-level) 전체 시스템에서 공유되거나 활용 가능한 리소스 (예: Depot, Policy 등)

🔧 주요 속성 (YAML 필드 예시)

 
필드 설명 필수 여부
name 리소스 이름
version 버전 정보
type 리소스 타입
tags, description, owner, layer 메타 정보  
<resource-type> 리소스 고유 설정

⚙️ CRUD 명령어 (CLI 기준)

 
작업 명령어 예시
생성/업데이트 dataos-ctl apply -f config.yaml
조회 (Read) dataos-ctl get -t workflow -n my-workflow
삭제 dataos-ctl delete -t workflow -n my-workflow
구문 검사 (Lint) dataos-ctl apply -f config.yaml -l
로그 보기 dataos-ctl log -t workflow -n my-workflow

🧠 리소스 구성의 의미와 장점

  • 리소스는 ‘의도의 기록(record of intent)’ → 시스템이 현재 상태를 자동으로 조정(reconcile)
  • 리소스 간 조합(Composable) 가능 → 다양한 아키텍처 (예: Data Mesh, Lakehouse 등) 구현
  • 시스템은 자동으로 컴퓨팅 리소스 할당, 배포, 상태 관리를 처리

🛠️ 데이터 개발자가 리소스를 통해 할 수 있는 것들

  • 파이프라인(ETL/ELT), 워크플로우 구성
  • 애플리케이션/서비스 배포
  • 데이터 접근 제어(Heimdall), 메타데이터 관리(Metis), 쿼리 실행(Minerva)
  • 팀/조직 단위로 자기주도적 데이터 운영 가능 (셀프서비스화)

4. Data Product

Insights
- 최종 목적지인 데이터 제품에서 데이터 수집부터 제공까지의 흐름을 확인할 수 있다.
- 데이터 제품이라는 이름으로 테이블의 묶음을 분석할 수 있게 해준다.
- 데이터 제품은 자체 완결성을 가지고 있다.
- 데이터 제품이라는 틀 안에서 기능이 제공된다. 더 유연하게 파이썬 패키지를 통해 구현할 수 있을 것 같다.
- 라이프사이클의 상태를 5개로 정의한다.
- 4가지 포트를 통해 들어오고 나갈 수 있다.
- SLO를 사용할 수 있다.
- 피드백을 받고 진화할 수 있다.
- 데이터 품질을 정의하고 확인할 수 있다.
- 유형을 Entity-first와 Model-first로 나눈다.
- 페르소나를 명확하게 구분한다.

목적 지향적이고 완결된 분석용 데이터 유닛으로, 단순한 데이터셋이 아닌 고품질의 데이터 제품입니다.
DataOS 플랫폼 위에서 개발, 운영, 배포되며, 데이터 수집 → 변환 → 제공까지의 전체 흐름을 포함합니다.

🎯 Data Product의 핵심 특징

  • 자체 완결형(Self-contained): 필요한 모든 요소(데이터, 메타데이터, API, 문서 등)를 포함
  • 재사용 가능(Reusable): 다양한 분석 및 서비스에 반복 활용 가능
  • 조합 가능(Composable): 다른 데이터 제품과 결합하여 확장 가능
  • 클라우드 무관(Cloud-agnostic): 특정 인프라에 종속되지 않음
  • 소비자 중심(Consumption-ready): 분석, 공유, 통합, 서비스에 바로 활용 가능
  • 지속적 관리 필요: 주기적 업데이트와 품질 유지 필요

🛠️ Data Product 개발 라이프사이클

  1. Design: 목표 정의 및 설계
  2. Develop: 개발 및 테스트
  3. Deploy: 배포 및 운영
  4. Iterate: 지속적 개선 및 피드백 반영
  5. Deprecate: 폐기

📄 Data Product Manifest

Data Product의 구성, 메타데이터, 설정 등을 정의하는 설정 파일입니다.

  1. Input Ports: 외부 데이터 수신 (CSV, JSON, JDBC 등 형식 & 프로토콜 명시)
  2. Output Ports: 외부 시스템/사용자에게 데이터 제공 (REST API, SQL 등)
  3. Control Ports: 모니터링, 로깅, 메타데이터 제공 (버전, 소유자 정보 등)
  4. Experience Ports: BI 툴, AI 연동, 자연어 쿼리 등 다양한 방식으로 데이터 접근 가능(예: Talos API, Lens, LLM 등)
 

🧱 핵심 구성 요소 (Core Facets)

 
구성 요소 설명
Input 데이터 수집 방식 (API, 배치, 스트리밍 등)
Output 결과 제공 방식 (SQL, API, 시각화, 앱 등)
SLO 성능, 가용성, 품질 등의 서비스 수준 목표
Governance 접근 제어, 정책 설정, 감사, 컴플라이언스 등
Transformation 데이터 정제, 가공, 집계, 표준화
Observability 상태 모니터링, 이상 탐지, 데이터 프로파일링

🌟 Data Product의 11가지 핵심 특성

 
특성 의미
Discoverable 누구나 쉽게 찾고 이해할 수 있음
Addressable 고유 ID로 명확히 식별 가능
Understandable 직관적 문서와 시각화로 쉽게 이해
Natively Accessible 도구에 맞는 형태로 바로 사용 가능
Trustworthy 검증된 데이터, 투명한 출처
Interoperable 다른 제품들과 쉽게 연동 가능
Valuable on its own 단독으로도 가치를 제공
Secure 강력한 보안 및 접근 제어 포함
Purpose Driven 명확한 비즈니스 목표와 연결됨
Responsive 사용자 피드백에 반응하고 진화
Reactive 실시간 데이터 변화에 반응 가능

👥 Data Product 관련 주요 인물 (Persona)

 
역할 설명
Owner 제품 전략·로드맵 기획, 비즈니스 목표 정의
Developer 데이터 파이프라인 및 기술 인프라 구현
Consumer 분석, 의사결정, 리포트 등에서 제품 활용

🧩 Data Product 유형

 
유형 설명 예시
Entity-first (소스 중심) 데이터 원천 기준 정렬, 품질과 표준화 우선 데이터 웨어하우스, MDM
Model-first (소비자 중심) 사용자 요구 기준 설계, 분석 결과 중심 BI 대시보드, 추천 시스템, 예측 모델

 

반응형