데이터 전처리: 워크플로우 및 파이프라인

ㅁ 워크플로우 및 파이프라인

1. Airflow

ㅇ 정의:
– Apache에서 개발한 오픈소스 워크플로우 스케줄러로, DAG(Directed Acyclic Graph)를 기반으로 데이터 파이프라인을 정의하고 실행하는 도구.

ㅇ 특징:
– Python 코드로 파이프라인 정의
– 스케줄링, 모니터링, 재시도 기능 제공
– 다양한 연동(데이터베이스, 클라우드 서비스) 지원

ㅇ 적합한 경우:
– 주기적 배치 작업, 데이터 ETL 파이프라인
– 복잡한 의존성을 가진 워크플로우 관리

ㅇ 시험 함정:
– 실시간 스트리밍 처리에 적합하지 않음 (주로 배치 처리)
– DAG는 순환 구조를 허용하지 않음

ㅇ 시험 대비 “패턴 보기” 예시:
O: “Airflow는 DAG 기반으로 파이프라인을 구성한다.”
X: “Airflow는 실시간 데이터 스트리밍에 최적화되어 있다.”

================================

2. Prefect

ㅇ 정의:
– Python 기반의 워크플로우 오케스트레이션 도구로, Airflow의 복잡성을 줄이고 개발자 친화적 API 제공.

ㅇ 특징:
– 동적 파이프라인 작성 가능
– 로컬/클라우드 실행 지원
– 상태 관리와 실패 시 복구 기능 강화

ㅇ 적합한 경우:
– 유연한 파이프라인 설계 필요 시
– 클라우드 환경과의 결합이 중요한 경우

ㅇ 시험 함정:
– Airflow 대비 시각화 UI가 초기에는 제한적
– DAG 개념은 있으나 더 유연한 Task Flow 구조 사용

ㅇ 시험 대비 “패턴 보기” 예시:
O: “Prefect는 동적 파이프라인 생성을 지원한다.”
X: “Prefect는 DAG 구조만을 고정적으로 사용한다.”

================================

3. Dagster

ㅇ 정의:
– 데이터 자산 중심의 파이프라인 오케스트레이션 도구로, 데이터 품질과 타입 안정성을 강조.

ㅇ 특징:
– 데이터 자산(asset) 개념 도입
– 타입 검사 및 데이터 품질 검증 내장
– 테스트와 개발 환경 분리 용이

ㅇ 적합한 경우:
– 데이터 품질 관리가 중요한 프로젝트
– 개발/운영 환경에서 동일한 파이프라인 재사용 필요 시

ㅇ 시험 함정:
– 단순 ETL에는 과도한 기능일 수 있음
– Airflow와 달리 자산 중심 설계 필요

ㅇ 시험 대비 “패턴 보기” 예시:
O: “Dagster는 데이터 자산 단위로 파이프라인을 구성한다.”
X: “Dagster는 데이터 품질 검증 기능을 제공하지 않는다.”

================================

4. Feature Store(Tecton.ai, Feast, Featureform, Activeloop)

ㅇ 정의:
– 머신러닝 모델 학습 및 예측 시 재사용 가능한 피처를 저장, 관리, 제공하는 중앙 저장소.

ㅇ 특징:
– 온라인/오프라인 피처 저장 및 제공
– 피처 버전 관리
– 데이터 일관성 보장

ㅇ 적합한 경우:
– ML 모델에서 동일 피처를 학습/서빙에 재사용해야 하는 경우
– 실시간 예측과 배치 학습 환경을 통합하려는 경우

ㅇ 시험 함정:
– 단순 데이터베이스와의 차이점(피처 변환 로직, 버전 관리 등) 혼동
– 모든 Feature Store가 실시간 서빙을 지원하는 것은 아님

ㅇ 시험 대비 “패턴 보기” 예시:
O: “Feature Store는 피처의 버전 관리를 지원한다.”
X: “Feature Store는 모델 파라미터를 저장하는 전용 저장소이다.”

4.1 Tecton.ai

ㅇ 정의:
– 상용 Feature Store 플랫폼으로, 엔터프라이즈급 피처 관리 및 실시간 서빙 지원.

ㅇ 특징:
– 실시간/배치 피처 파이프라인
– 보안 및 권한 관리 강화

ㅇ 적합한 경우:
– 대규모 ML 운영 환경
– SLA 보장이 필요한 서비스

ㅇ 시험 함정:
– 오픈소스 아님, 상용 서비스임

ㅇ 시험 대비 “패턴 보기” 예시:
O: “Tecton.ai는 실시간 피처 서빙을 지원한다.”
X: “Tecton.ai는 오픈소스 Feature Store이다.”

4.2 Feast

ㅇ 정의:
– 오픈소스 Feature Store로, 온라인/오프라인 피처 저장소를 통합 관리.

ㅇ 특징:
– 다양한 데이터 소스 연동
– 확장성 있는 아키텍처

ㅇ 적합한 경우:
– 오픈소스 기반 ML 파이프라인
– 클라우드/온프레미스 혼합 환경

ㅇ 시험 함정:
– Feast 자체가 피처 생성 로직을 제공하지 않음

ㅇ 시험 대비 “패턴 보기” 예시:
O: “Feast는 오픈소스 Feature Store이다.”
X: “Feast는 피처 생성 로직을 내장하고 있다.”

4.3 Featureform

ㅇ 정의:
– 피처 관리와 서빙을 위한 오픈소스 플랫폼으로, 선언적 방식으로 피처 정의.

ㅇ 특징:
– 선언형 피처 정의
– 다양한 백엔드와 연동

ㅇ 적합한 경우:
– 코드 기반 피처 관리 필요 시

ㅇ 시험 함정:
– Featureform은 단순 스토리지 아님, 피처 정의 및 관리 기능 포함

ㅇ 시험 대비 “패턴 보기” 예시:
O: “Featureform은 선언적 방식으로 피처를 정의한다.”
X: “Featureform은 피처 버전 관리를 지원하지 않는다.”

4.4 Activeloop

ㅇ 정의:
– 대규모 AI 데이터셋을 효율적으로 저장, 검색, 스트리밍하는 데이터 관리 플랫폼.

ㅇ 특징:
– 딥러닝 데이터 최적화 저장
– 클라우드 네이티브

ㅇ 적합한 경우:
– 이미지, 비디오, 대규모 벡터 데이터 저장/서빙

ㅇ 시험 함정:
– Feature Store라기보다 데이터 관리 플랫폼 성격이 강함

ㅇ 시험 대비 “패턴 보기” 예시:
O: “Activeloop은 대규모 AI 데이터셋 스트리밍을 지원한다.”
X: “Activeloop은 전통적인 RDBMS 기반이다.”

ㅁ 추가 학습 내용

학습 정리

1. 주요 워크플로우 및 파이프라인 도구 비교
– Airflow: 배치 중심, 스케줄 기반, DAG 정의로 작업 순서 제어, 실시간 처리에 한계
– Prefect: 동적 파이프라인 구성 가능, 런타임 시 태스크 결정, 유연성 높음
– Dagster: 데이터 자산 중심 설계, 데이터 품질/타입 검증 기능 내장
– Feature Store: 머신러닝 피처 관리 전용, 온라인/오프라인 저장소로 구분, 피처 재사용과 일관성 유지 목적

2. Feature Store 세부 개념
– 온라인 저장소: 실시간 서빙 목적, 낮은 지연시간
– 오프라인 저장소: 학습용 데이터셋 생성 목적, 대용량 배치 처리
– 피처 엔지니어링과의 관계: 생성된 피처를 저장, 재사용, 버전 관리
– 데이터 일관성 문제: 학습 시점과 서빙 시점의 피처 값 차이 방지 필요

3. 비교 시 고려 요소
– 실시간 서빙 지원 여부
– 오픈소스 vs 상용 여부
– 지원하는 클라우드 범위 및 통합성
– 데이터 품질 관리 기능 포함 여부

4. 개념 구분
– 워크플로우 오케스트레이션: 작업 순서, 의존성, 스케줄 관리 중심
– 데이터 파이프라인: 데이터 이동·변환·적재 과정 전체
– ETL과의 관계: Extract-Transform-Load 과정이 파이프라인의 한 형태
– 각 도구의 강점·한계: 사례 기반으로 파악 필요

시험 대비 체크리스트

– Airflow, Prefect, Dagster, Feature Store의 핵심 특징과 차이를 설명할 수 있는가
– Feature Store의 온라인/오프라인 저장소 개념과 용도를 구분할 수 있는가
– 피처 엔지니어링과 Feature Store의 관계를 설명할 수 있는가
– 데이터 일관성 문제와 해결 방법을 이해하고 있는가
– 각 도구의 실시간 처리 지원 여부를 구분할 수 있는가
– 오픈소스/상용 여부, 클라우드 지원 범위를 구체적으로 말할 수 있는가
– 워크플로우 오케스트레이션과 데이터 파이프라인의 차이를 정의할 수 있는가
– ETL과 데이터 파이프라인의 관계를 설명할 수 있는가
– 각 도구의 데이터 품질 관리 기능 포함 여부를 구분할 수 있는가
– 사례 기반으로 각 도구의 강점과 한계를 제시할 수 있는가

답글 남기기

Your email address will not be published. Required fields are marked *.

*
*