데이터 엔지니어링 수명 주기 — 요람에서 무덤까지
데이터 엔지니어링을 특정 기술의 나열이 아니라, 데이터의 전체 수명 주기를 관리하는 관점에서 바라보는 프레임워크를 소개합니다.
데이터 엔지니어링 수명 주기란
데이터 엔지니어링 수명 주기(Data Engineering Lifecycle)는 원시 데이터를 분석가, 데이터 과학자, ML 엔지니어가 사용할 수 있는 유용한 최종 제품으로 전환하는 단계를 말합니다. 이 프레임워크는 데이터를 "요람에서 무덤까지" 추적하며, 5개의 핵심 단계와 이를 관통하는 저류(undercurrents)로 구성됩니다.
전체 데이터 수명 주기와 데이터 엔지니어링 수명 주기는 다릅니다. 전체 데이터 수명 주기가 데이터의 전 생애를 포괄한다면, 데이터 엔지니어링 수명 주기는 그중 데이터 엔지니어가 직접 제어하는 단계에 집중합니다.
5가지 핵심 단계
1단계. 생성 — 소스 시스템
소스 시스템은 데이터의 원점입니다. IoT 장치, 애플리케이션 메시지 큐, 트랜잭션 데이터베이스 등이 해당합니다. 데이터 엔지니어는 소스 시스템을 직접 소유하지는 않지만, 그것이 어떻게 작동하고 데이터를 생성하는지 깊이 이해해야 합니다.
특히 중요한 것은 스키마 관리입니다. Schemaless(스키마 없는)라는 말은 스키마가 정말 없다는 뜻이 아니라, 데이터가 기록될 때 애플리케이션이 스키마를 정의한다는 의미입니다. 고정 스키마든 유연한 스키마든, 스키마는 시간에 따라 변화하며 이 변화가 데이터 엔지니어의 작업을 어렵게 만드는 핵심 요인입니다.
소스 시스템 평가 시 핵심 질문들:
- 데이터 소스의 본질은 무엇인가? (앱 DB인가, IoT 센서 군집인가?)
- 데이터 생성 속도와 볼륨은 얼마인가?
- 스키마가 변경되면 어떻게 대응하는가?
- 데이터에 중복이나 지연 도착이 포함되는가?
- 소스에서 데이터를 읽는 행위가 소스 시스템 성능에 영향을 주는가?
2단계. 저장
스토리지 솔루션 선택은 데이터 수명 주기 전체의 성공을 좌우합니다. 클라우드 아키텍처에서는 여러 스토리지를 동시에 활용하는 것이 일반적이며, 많은 스토리지 시스템이 순수 저장을 넘어 쿼리 기능까지 제공합니다.
스토리지는 수명 주기의 한 단계이면서 동시에 수집, 변환, 서비스 등 다른 모든 단계와 교차합니다. 예를 들어 클라우드 데이터 웨어하우스는 데이터를 저장하고, 파이프라인에서 처리하고, 분석가에게 제공하는 역할을 동시에 수행합니다.
데이터 온도 개념:
- 핫 데이터: 하루에 여러 번, 초당 여러 번 접근. 빠른 검색 필수
- 미지근한 데이터: 매주 또는 매월 접근
- 콜드 데이터: 거의 쿼리되지 않으며 아카이브 저장에 적합. 주로 규정 준수나 재해 복구 목적
3단계. 수집
소스 시스템과 수집은 데이터 엔지니어링 수명 주기의 가장 중요한 병목 지점입니다. 소스가 응답하지 않거나, 품질이 낮은 데이터를 보내거나, 수집 서비스가 예기치 않게 중단되면 전체 파이프라인에 파급 효과가 발생합니다.
배치 vs 스트리밍
사실상 모든 데이터는 본질적으로 스트리밍입니다. 배치 수집은 이 연속 스트림을 큰 덩어리로 처리하는 전문적이고 편리한 방식일 뿐입니다.
배치 수집: 미리 정해진 시간 간격 또는 크기 임계값에 도달할 때 데이터를 처리합니다. 분석 및 ML에서 여전히 매우 인기 있는 방식이며, 모델 학습이나 주간 보고 같은 사용 사례에 탁월합니다.
스트리밍 수집: 다운스트림 시스템에 데이터를 실시간(1초 미만)으로 제공합니다. 매력적이지만 추가 비용과 복잡성이 수반됩니다. 스트리밍 우선 접근법을 채택하기 전에, 배치 대비 구체적인 비즈니스 이점을 식별해야 합니다.
Push vs Pull
- Push: 소스 시스템이 대상에 데이터를 기록 (예: CDC에서 변경 메시지를 큐로 푸시)
- Pull: 수집 시스템이 소스에서 데이터를 가져옴 (예: ETL의 Extract 단계)
실제로는 파이프라인의 여러 단계에서 푸시와 풀이 혼합되어 사용됩니다.
4단계. 변환
변환은 데이터가 다운스트림 사용자를 위한 가치를 생성하기 시작하는 단계입니다. 적절한 변환 없이는 데이터가 비활성 상태로 남아 보고서, 분석, ML에 유용한 형식이 되지 못합니다.
변환의 범위는 넓습니다.
- 기본 변환: 타입 매핑, 표준 포맷 적용, 잘못된 형식 제거
- 중간 변환: 스키마 변환, 정규화 적용
- 고급 변환: 대규모 집계, ML을 위한 피처 엔지니어링
비즈니스 로직은 변환의 핵심 동인입니다. "판매"가 무엇인지, "고객"이 누구인지와 같은 비즈니스 정의를 데이터에 반영하는 것이 데이터 모델링의 핵심이며, 이 과정에서 표준 접근 방식을 확보하는 것이 중요합니다.
5단계. 서비스
데이터에서 가치를 얻는 최종 단계입니다. 소비되거나 쿼리되지 않은 데이터는 단순히 비활성일 뿐입니다.
분석 (Analytics)
- 비즈니스 인텔리전스(BI): 비즈니스의 과거와 현재 상태를 설명. 데이터 성숙도가 높아지면 셀프서비스 분석으로 진화
- 운영 분석: 실시간 인벤토리, 앱 상태 대시보드 등 즉각적 조치를 촉진하는 세부 운영 데이터
- 임베디드 분석: 고객 대면 분석. 멀티테넌시, 데이터 격리, 액세스 제어가 훨씬 복잡해지는 영역
ML (머신러닝)
데이터 엔지니어의 책임은 분석과 ML에서 상당히 겹칩니다. 피처 스토어(Feature Store)는 데이터 엔지니어링과 ML 엔지니어링을 결합한 비교적 최근의 도구로, 피처의 이력과 버전 관리, 팀 간 공유를 지원합니다.
중요한 조언: ML로 이동하기 전에 분석 역량을 먼저 개발하는 것이 최선입니다. 적절한 데이터 기반 없이 ML에 뛰어든 많은 기업이 실패했습니다.
리버스 ETL
처리된 데이터를 소스 시스템에 다시 공급하는 흐름입니다. 예를 들어 데이터 웨어하우스의 분석 결과를 CRM이나 Google Ads에 다시 푸시하는 것이 해당됩니다. Hightouch, Census 같은 전문 도구가 이 영역을 지원하며, 비즈니스가 SaaS와 외부 플랫폼에 의존할수록 중요성이 커지고 있습니다.
6가지 저류(Undercurrents) — 수명 주기 전체를 관통하는 기반
데이터 엔지니어링 수명 주기의 어떤 단계도 이러한 저류 없이는 제대로 작동하지 않습니다.
1. 보안
최우선 순위입니다. 핵심 원칙은 최소 권한의 원칙 — 사용자나 시스템이 의도한 기능을 수행하는 데 필수적인 데이터와 리소스에만 접근할 수 있도록 합니다. 모든 사용자에게 관리자 권한을 부여하는 것은 "일어나기를 기다리는 재앙"입니다. 조직의 보안 문화가 가장 중요한 첫 번째 방어선입니다.
2. 데이터 관리
데이터 관리(Data Management)는 수명 주기 동안 데이터 자산의 가치를 제공, 제어, 보호, 향상시키는 모범 사례의 집합입니다. 주요 구성 요소는 다음과 같습니다.
데이터 거버넌스: 데이터의 품질, 무결성, 보안, 유용성을 보장하는 기능. 핵심 범주는 검색 가능성, 보안, 책임입니다.
메타데이터 관리: "데이터에 대한 데이터". DMBOK는 네 가지 범주를 식별합니다.
- 비즈니스 메타데이터 — 데이터 정의, 규칙, 소유자
- 기술 메타데이터 — 스키마, 데이터 계보, 파이프라인 워크플로
- 운영 메타데이터 — 프로세스 통계, 런타임 로그, 오류 로그
- 참조 메타데이터 — 조회 데이터, 내부 코드, 측정 단위
데이터 품질: 정확성(수집 데이터가 사실대로 정확한가), 완전성(모든 필수 필드에 유효한 값이 있는가), 적시성(기록을 제때 사용할 수 있는가)의 세 가지 특성으로 정의됩니다.
마스터 데이터 관리(MDM): 골든 레코드(Golden Record)라 불리는 일관된 엔티티 정의를 구축하는 방식입니다.
데이터 계보: 수명 주기 동안 데이터의 감사 추적을 기록하며, 오류 추적과 규정 준수에 필수적입니다.
데이터 수명 주기 관리: GDPR, CCPA 같은 규정으로 인해 데이터 파괴를 적극적으로 관리해야 합니다.
윤리 및 개인정보 보호: PII 마스킹, 편향 추적, 규정 준수. "데이터 엔지니어는 아무도 보고 있지 않을 때 올바른 일을 해야 합니다. 언젠가는 모든 사람이 보게 될 것이기 때문입니다."
3. DataOps
DataOps는 Agile, DevOps, 통계적 프로세스 제어(SPC)의 모범 사례를 데이터에 적용합니다. 무엇보다도 DataOps는 문화적 습관입니다.
세 가지 핵심 기술 요소:
- 자동화: 변경 관리, CI/CD, IaC(Infrastructure as Code). 크론 작업에서 Airflow 같은 오케스트레이션 프레임워크로, 다시 자동화된 DAG 배포로 성숙해가는 과정
- 관찰 가능성 및 모니터링: "데이터는 소리 없는 살인자"입니다. 잘못된 데이터가 몇 달간 보고서에 남아 경영진의 중요한 결정을 오도할 수 있습니다
- 사고 대응: 인시던트에 소급 대응하는 것만큼이나 선제적으로 해결하는 것이 중요. "모든 것이 항상 망가진다" (Werner Vogels)
4. 데이터 아키텍처
조직의 장기적인 데이터 요구와 전략을 지원하는 데이터 시스템의 현재 및 미래 상태를 반영합니다. 데이터 엔지니어가 반드시 데이터 설계자(Architect)일 필요는 없지만, 비즈니스 요구사항을 이해하고 비용·운영 단순성의 균형을 맞추는 설계를 할 수 있어야 합니다.
5. 오케스트레이션
오케스트레이션은 많은 작업을 조정하여 가능한 한 빠르고 효율적으로 실행되도록 하는 프로세스입니다. 단순한 스케줄러(cron)와 다른 점은 작업 종속성에 대한 메타데이터(보통 DAG 형태)를 이해한다는 것입니다.
Apache Airflow가 2015년부터 이 공간을 지배했으며, Prefect, Dagster, Argo, Metaflow 같은 차세대 도구들이 이식성, 테스트 가능성, 메타데이터 처리를 개선하고 있습니다.
오케스트레이션은 엄격히 배치 개념이라는 점도 중요합니다. 스트리밍의 대응물은 스트리밍 DAG이며, Pulsar 같은 플랫폼이 이 영역의 부담을 줄이고 있습니다.
6. 소프트웨어 엔지니어링
추상화가 계속 높아지고 있지만, 소프트웨어 엔지니어링은 여전히 데이터 엔지니어링의 핵심입니다.
- 핵심 데이터 처리 코드: Spark, SQL, Beam 등 프레임워크에 대한 높은 숙련도
- 오픈 소스 프레임워크 개발: 커뮤니티 기여와 도구 개선
- 스트리밍: 배치에서 당연하게 여기던 조인 같은 작업이 실시간에서는 훨씬 복잡
- IaC: Terraform, Helm 등을 통한 인프라 관리의 코드화
- 코드로서의 파이프라인: Python 등으로 데이터 작업과 종속성을 선언
- 범용 문제 해결: 어떤 고급 도구를 쓰더라도 코너 케이스에서 커스텀 코드가 필요
핵심 메시지
데이터 엔지니어링 수명 주기를 관통하는 핵심 목표는 세 가지입니다.
- 최적의 ROI 생성 및 비용 절감 — 재정적 비용과 기회 비용 모두
- 위험 감소 — 보안과 데이터 품질 측면
- 데이터 가치 및 유용성 극대화 — 소비되지 않는 데이터는 비활성일 뿐
기술이 점점 더 추상화되면서 데이터 엔지니어는 특정 도구의 조작자가 아니라, 데이터 수명 주기 전체를 관리하는 수명 주기 엔지니어로 진화하고 있습니다. 도구는 변하지만, 생성 → 저장 → 수집 → 변환 → 서비스라는 수명 주기의 구조와 이를 지탱하는 저류의 원칙은 기술 세대를 넘어 유효합니다.
'IT도서요약' 카테고리의 다른 글
| Fundamentals of Data Engineering(1장) (0) | 2026.04.30 |
|---|---|
| 데이터 중심 어플리케이션 - 4장 (0) | 2025.04.07 |
| 데이터 중심 어플리케이션 - 3장 (0) | 2025.04.01 |
| 데이터 중심 어플리케이션- 2장 (0) | 2025.03.31 |
| 👍데이터 중심 어플리케이션- 1장 (0) | 2025.03.27 |