새발블로그

[견고한 데이터 엔지니어링] CH2. 데이터 엔지니어링 수명 주기 본문

Data Engineering/BOOK

[견고한 데이터 엔지니어링] CH2. 데이터 엔지니어링 수명 주기

EUG 2025. 12. 28. 16:31

데이터 엔지니어는 ‘데이터 생명주기 엔지니어’

데이터 엔지니어는 단순히 데이터를 옮기는 사람이 아닌 데이터 수명 주기(Data Lifecycle)를 이해하고 관리하는 엔지니어, 즉 데이터 생명주기 엔지니어로 사고해야 한다.

데이터 엔지니어링 수명 주기란, 원시 데이터를 분석가·데이터 과학자·ML 엔지니어가 사용할 수 있는 ‘최종 데이터 제품’으로 전환하는 전 과정을 의미한다.

(https://books.google.co.kr/books?id=cOvLEAAAQBAJ&pg=PT62&hl=ko&source=gbs_selected_pages&cad=1#v=onepage&q&f=false)

데이터 수명 주기 vs 데이터 엔지니어링 수명 주기

  • 데이터 수명 주기 → 데이터가 생성되고, 사용되고, 보관·파기되는 전체 생애
  • 데이터 엔지니어링 수명 주기→ 그중에서도 데이터 엔지니어가 직접 설계·운영하는 영역

즉, 데이터 엔지니어링 수명 주기는 데이터 수명 주기의 하위 집합이다.

데이터 엔지니어링 수명 주기의 전체 흐름

데이터 엔지니어링 수명 주기는 다음 흐름으로 구성된다.

  1. 데이터 생성 (원천 시스템)
  2. 데이터 저장
  3. 데이터 수집
  4. 데이터 변환
  5. 데이터 서빙

그리고 이 모든 단계에 드러나지 않는 공통 요소들이 겹쳐 있다.

 

1 데이터 생성: 모든 것은 원천 시스템에서 시작된다

원천 시스템(Source System)은 데이터 엔지니어링 수명 주기에서 사용되는 모든 데이터의 출발점이다.

중요한 점은, 데이터 엔지니어는 원천 시스템을 소유하지 않는 경우가 대부분이라는 것.

그래서 데이터 엔지니어는 다음을 이해해야 한다.

원천 시스템을 평가할 때 고려할 사항

  • 데이터 원천의 성격
  • (애플리케이션 DB인지, IoT 디바이스 스웜인지)
  • 데이터 보존 방식
  • (장기 보존 vs 일시적 데이터)
  • 생성 빈도와 속도
  • (이벤트 발생량, 트래픽)
  • 데이터 품질 문제
  • (NULL, 잘못된 포맷, 중복, 오류)
  • 늦게 도착하는 데이터(Late-arriving data)
  • 스키마 구조 및 스키마 변경 대응
  • 데이터 수집 주기

핵심은 원천 시스템의 한계를 이해하고, 소유자와 지속적인 소통 라인을 유지하는 것

스키마: 가장 까다로운 차이점

원천 시스템마다 스키마 처리 방식이 다르다.

  • 고착 스키마 (Schema-on-Write) → 관계형 데이터베이스
  • 스키마리스 또는 유연한 스키마 (Schema-on-Read) → 메시지 큐, 플랫 파일, 객체 스토리지, MongoDB 같은 도큐먼트 DB

이 차이는 이후 데이터 저장·변환·서빙 설계에 직접적인 영향을 준다.

2 데이터 저장: 모든 단계에 관여하는 핵심 요소

데이터 저장은 단순한 “보관”이 아니다. 수집·변환·서빙 모든 단계에 지속적으로 관여한다.

대표적인 데이터 저장소

  • 데이터 웨어하우스
  • 데이터 레이크 / 레이크하우스
  • 객체 스토리지
  • 스트리밍 플랫폼 (Kafka, Pulsar 등)

최근에는 하나의 시스템이 저장 + 처리 + 쿼리를 동시에 수행하기도 한다.

데이터 온도(Data Temperature)

데이터 저장 전략은 접근 빈도, 즉 데이터 온도를 기준으로 나뉜다.

  • 핫 데이터: 자주 조회되는 데이터
  • 웜 데이터: 주기적으로 조회되는 데이터
  • 콜드 데이터: 거의 조회되지 않는 아카이브 데이터

-> 비용 최적화와 직결되는 개념이다.

3 데이터 수집: 가장 큰 병목 지점

데이터 수집은 원천 시스템과 데이터 엔지니어링 수명 주기가 만나는 병목 구간이다.

수집 설계 시 반드시 던져야 할 질문들:

  • 이 데이터는 어떤 사용 사례를 위한 것인가?
  • 데이터를 재사용할 수 있는가?
  • 시스템은 안정적으로 데이터를 생성·전송하는가?
  • 수집 후 목적은 무엇인가?
  • 접근 빈도와 데이터 용량은?

배치 vs 스트리밍

  • 배치 수집 → 데이터를 일정 단위(청크)로 처리
  • 스트리밍 수집 → 실시간 또는 준실시간 처리

데이터는 본질적으로 스트리밍이며, 배치는 이를 묶어서 처리하는 방식

푸시 vs 풀 수집 모델

  • 푸시 모델 → 원천 시스템이 데이터를 타깃으로 직접 전송
  • 풀 모델 → 수집 시스템이 원천 시스템에서 데이터를 가져옴

ETL의 Extract(E) 는 대표적인 풀 모델이다.

CDC(Change Data Capture)

CDC는 데이터베이스의 변경 사항만 캡처하는 방식이다.

대표적인 구현 방식:

  1. 행 변경 시 이벤트 발생 → 메시지 큐로 전송

-> 원천 시스템에 부담을 최소화하면서 증분 데이터 수집이 가능하다.

4 데이터 변환: 데이터에 의미를 부여하는 단계

수집·저장된 데이터는 그 자체로는 바로 쓸 수 없다.

변환 단계에서 수행하는 작업:

  • 데이터 타입 변환
  • (문자열 → 숫자 / 날짜)
  • 잘못된 데이터 제거
  • 이벤트 타임스탬프 추가
  • 비즈니스 로직 적용
  • 데이터 보강(필드 계산)

변환은

  • 배치로 수행할 수도 있고
  • 스트리밍 중 실시간으로 수행할 수도 있다.

데이터 특성화(Feature Engineering)

변환의 한 형태로, 유용한 데이터 특성을 추출·강화하는 작업이다.

머신러닝과 직접적으로 연결된다.

5 데이터 서빙: 데이터가 가치를 만드는 순간

데이터는 사용될 때만 가치가 있다. 그래서 데이터 서빙은 수명 주기의 핵심 목표다.

주요 데이터 서빙 방식

분석 (Analytics)

  • BI 대시보드
  • 임시 분석
  • 셀프 서비스 분석

기업의 데이터 성숙도가 높아질수록 IT 개입 없이 비즈니스 사용자가 직접 분석한다.

운영 분석 (Operational Analytics)

  • 실시간 재고 현황
  • 웹·애플리케이션 상태 대시보드

임베디드 분석 (Embedded Analytics)

  • 고객 대면 분석
  • 멀티테넌시 환경에서 접근 제어 중요

머신러닝

  • 특성 저장소(Feature Store)
  • 백필링 지원
  • 모델 운영과 연결

역 ETL

(https://books.google.co.kr/books?id=cOvLEAAAQBAJ&pg=PT62&hl=ko&source=gbs_selected_pages&cad=1#v=onepage&q&f=false)

  • 데이터 웨어하우스 → CRM/CDP로 데이터 전송
  • (잘못 쓰면 안티패턴이 될 수 있음)

데이터 엔지니어링 수명 주기의 드러나지 않는 요소들

이 요소들은 모든 단계에 걸쳐 존재하지만 눈에 잘 드러나지 않는다.

보안(Security)

  • 보안 최우선 원칙
  • 최소 권한 원칙(Least Privilege)
  • 필요한 데이터에, 필요한 기간 동안만 접근 허용

데이터 관리(Data Management)

데이터 관리란 데이터 자산의 가치를 제공·보호·제어·향상하기 위한 전사적 활동이다.

데이터 거버넌스 핵심 범주

  • 발견 가능성
  • 보안
  • 책임

하위 영역:

  • 데이터 품질
  • 메타데이터
  • 개인정보 보호

메타데이터란?

데이터에 대한 데이터

  • 비즈니스 메타데이터
  • 기술 메타데이터
  • 운영 메타데이터
  • 참조 메타데이터

데이터 카탈로그, 계보 추적 시스템, 메타데이터 관리 도구가 중요해진 이유다.

데이터 품질

  • 정확도
  • 완전성
  • 적시성

마스터 데이터 관리(MDM)는 골든 레코드를 정의해 일관성을 유지한다.

데이터 옵스(DataOps)

DataOps는 애자일, DevOps, 통계적 공정 관리를 데이터 영역에 적용한 실천 방법론이다.

DataOps의 목표

  • 빠른 실험과 혁신
  • 높은 데이터 품질
  • 낮은 오류율

DataOps 3대 요소

  1. 자동화
  2. 모니터링 및 관찰 가능성
  3. 사고 대응

오케스트레이션 도구(Airflow, Dagster 등)는 DataOps의 핵심이다.

데이터 아키텍처

데이터 아키텍처는 조직의 장기적인 데이터 전략과 현재·미래 상태를 연결한다.

데이터 엔지니어 ≠ 데이터 아키텍트 이지만 강하게 협업한다.

오케스트레이션

오케스트레이션이란, 여러 작업을 올바른 순서로, 안정적으로 실행되도록 조정하는 것이다.

  • 고가용성
  • 자동 감지 및 실행
  • 사용자 개입 최소화

소프트웨어 엔지니어링 역량

현대 데이터 엔지니어는 다음 역량을 요구받는다.

  • Spark, SQL, Beam 활용 능력
  • 데이터 프레임 기반 처리
  • 테스트 전략 이해
  • 스트리밍 처리 개념
  • 코드형 인프라(IaC)
  • 코드형 파이프라인