티스토리 뷰

업무 모델 기반 데이터 구조화와 파이프라인 구축

대부분 조직 전사 데이터는 시스템을 중심으로 운영되고 생성된다. 그리고 그 시스템 안의 테이블을 중심으로 접근한다. CRM에는 고객 테이블, ERP에는 상품 테이블, 결제 DB에는 주문 테이블, 마케팅시스템에는 발송 로그, 보고서에는 결과 데이터 등과 같이 각각의 테이블이 잘 정의되어 있다. 그럼에도 한가지 생각해 볼 질문은 “이러한 테이블이 실제로 ‘비즈니스 문제 해결’과 직접적으로 연결돼 있는가?” 라는 점이다.

ChatGPT로 생성한 이미지

 

비즈니스 문제를 해결하고자 할 때 중요한 것은 “어떤 테이블이 있느냐”도 중요하지만, 더 본질적으로는 “데이터가 문제 해결을 위해 어떻게 연결되어 유의미한 지식을 제공할 수 있느냐”이다.

 

 

데이터는 업무의 흐름과 활동을 기준으로 연결될 때 가장 효과적이다고 생각한다. 업무 중심으로 데이터를 구조화하고 통합함으로써 단편적인 데이터 활용을 넘어 업무 전반을 지원하는 지식 기반 체계로 발전시킬 수 있다

즉, 개별적인 데이터가 아니라 업무 과정 속에서 발생하는 사건, 행위, 결과, 의사결정의 맥락과 연결될 때 비로소 데이터는 살아 있는 자산이 된다. 예를 들어 매출 데이터가 단순히 숫자의 나열로 남는 것이 아니라, 영업 활동의 실행, 고객 반응, 계약 체결이라는 일련의 흐름과 맞닿을 때 그 의미가 커진다.

이러한 연결은 단순히 기술적으로 완성되는 데이터의 통합을 넘어, 업무와 데이터가 함께 움직이는 구조를 만든다. 그 결과 조직은 데이터에서 업무 개선 포인트를 도출하고, 의사결정을 자동화하거나 보조할 수 있는 기반을 마련하게 된다. 이는 데이터를 단순한 기록물이 아니라 업무를 이끄는 도구로 전환하는 핵심 요소다.

 

 

데이터 엔지니어는 이러한 기반을 설계,구축,운영하는 역할을 한다. 분석,활용 가능한 기반이라는 말에는 다양한 범위가 포함된다.

데이터를 다루고 쌓고 관리하며, 신뢰 가능하게 제어하고, 업무에서 활용할 수 있도록 다양한 역할을 수행한다.

  • 데이터 처리 영역: 수집,변환,적재를 통해 데이터를 목적에 맞게 구조화
  • 저장/운영 영역: 데이터레이크, 웨어하우스 등의 저장소/플랫폼 운영, 메타데이터 관리(데이터 카탈로그, 리니지, 용어사전) 환경 구축
  • 품질/신뢰성 보장: 데이터 품질 관리, 접근 권한/보안/마스킹/개인정보 보호 정책, 소유자/관리자 지정, 표준화 프로세스 등 거버넌스 내재화
  • 활용 지원 영역: API, 데이터마트 등을 제공하여 현업 활용을 촉진

이러한 활동을 통해 데이터 엔지니어는 데이터 관련 이해관계자들이 원활히 협업할 수 있도록 데이터 생산자와 소비자 사이의 허브 역할을 수행한다.

 

결국 데이터 엔지니어링의 목표는 “기술 적용을 통한 데이터 관리”가 아니고 “업무 성과로 이어지는 데이터 활용”이다. 단순히 파이프라인을 만들고 데이터를 쌓는 것에서 끝나는 것이 아니라, 현업이 데이터를 통해 문제를 정의하고 개선안을 찾을 수 있도록 돕는 “업무-데이터 선순환 구조”를 만드는 것이 핵심이다.

이를 위해 데이터 엔지니어는 다음과 같은 관점을 추가로 고민해야 한다.

  • 업무 모델링과 데이터 모델링의 결합: 업무 프로세스를 객체,이벤트,결과 단위로 재정의하고, 이를 테이블,컬럼 등 물리적 데이터 구조에 매핑해 조직의 “업무 핵심 데이터 계층”를 만든다.
  • 의사결정 포인트 식별: 업무 흐름 속에서 언제, 어디서 데이터가 의사결정에 기여할 수 있는지를 파악하고, 이를 API,대시보드,알림,자동화 워크플로우로 구현한다.
  • 지속적인 데이터 품질,피드백 루프: 현업 사용자와 함께 데이터 품질을 점검하고 개선사항을 즉시 반영해 신뢰를 높인다.

이러한 확장은 데이터 엔지니어가 단순히 “데이터를 관리하는 기술자”가 아니라 업무 개선과 혁신을 이끄는 전략적 파트너로 자리매김하게 한다. 이번 글에서는 이 점을 중심으로, 업무 중심 데이터 구조화에 대해 다뤄 보려고 한다.

 


 

앞선 글에서와 같이 문제 정의,업무 이해,필요 데이터 파악이 선행되었으므로, 이제 실제 데이터 구조화와 파이프라인 설계 단계로 넘어갈 수 있다.

가상의 시나리오로 “고객 이탈 방지” 문제를 해결한다고 가정하였다. 필요한 데이터로는 고객 정보, 상품 정보, 구매 이력, 마케팅 내역, 마케팅 결과, 고객 분석 정보가 도출되었다. 이제 이러한 정보를 어디서 생성,저장하는지 즉, 원천 시스템을 파악하는 단계가 필요하다.

예시를 위해 아래의 그림과 같이 CRM, ERP, Marketing Platform, file 에 필요한 데이터가 존재하다고 설정하였다.

원천 시스템과 데이터

 

업무 모델에 따라 데이터를 구조화하는 작업이란 각각의 원천시스템으로부터 데이터를 수집하여 업무 모델에 맞춰 어떤 구조로 데이터를 구축해 나갈지를 설계하는 것을 의미한다.

 

데이터가 많다고 반드시 좋은 것은 아니므로 업무 수행 및 문제 해결에 필요한 데이터만 선별해 구조화하는 것이 바람직하다. 또한, 설계 시 확장 가능성을 충분히 고려하여, 특정 업무에만 묶이는 방식처럼 하나의 테이블에 과도하게 정보를 섞어 넣지 않도록 주의해야 한다.

이 과정에서 원천 시스템의 데이터 중 활용이 필요한 것만 식별해 테이블을 구성하고, 테이블 간 관계는 업무 관계를 기준으로 설계한다. 이렇게 하면 하단의 그림과 같은 데이터 구조화 결과를 구성하게 된다.

데이터의 구조를 생성하였으니 다음으로는 이에 따라 ETL 파이프라인을 구성하게 된다.

ETL 파이프라인은 원천에서 데이터를 수집(Extract)하고, 필요한 형태로 변환(Transform)한 뒤, 설계한 데이터 구조에 맞춰 대상 시스템에 적재(Load)하는 일련의 작업을 뜻한다.

 

이 글에서는 다양한 도구 중 Dagster를 사용해 파이프라인을 코드로 정의하고 관리했다. Dagster는 데이터 엔지니어를 위해 구축된 데이터 오케스트레이터로, 프로그램/데이터/자산 관점 모두에서 장점을 갖는다. 하단 그림은 Dagster를 활용해 파이썬 코드로 데이터를 수집/변화/적재하는 과정이 구동되는 모습을 나타내고 있다.

 

참고

https://docs.dagster.io/

 

Overview | Dagster Docs

Dagster's Documentation

docs.dagster.io

 

데이터 엔지니어는 단순히 데이터를 처리하는 것에 그치지 않고, 운영/관리/메타데이터 환경 제공까지 수행한다.

메타데이터는 데이터를 설명하는 데이터로, 데이터 활용의 출발점이 된다. “어떤 데이터가 어디에 있는지”를 찾아야 비로소 분석/활용이 가능하기 때문이다.

이를 위해 사용할 수 있는 오픈소스 프로젝트로 DataHub가 있다. 데이터허브와 같은 플랫폼은 실제 데이터로부터 메타데이터를 추출/저장해 조직이 보유한 데이터를 쉽게 검색/이해할 수 있도록 지원한다. 그리고 메타데이터를 통해 리니지(생성/변환 관계), 데이터 통계/품질 상태/데이터 소유자 등 부가 정보를 파악할 수 있게 한다.

 

 

Dagster를 통해 각 원천 시스템에서 데이터를 수집/적재했다면, 그 결과물의 원천 데이터와 적재 데이터의 메타데이터, 리니지 정보를 추출해 DataHub에 등록할 수 있다. 이렇게 하면 데이터 이해관계자들은 조직의 데이터 상황을 한눈에 파악하고 원하는 정보를 손쉽게 찾을 수 있는 환경을 제공받게 된다.

 

 

지금까지 업무 모델과 데이터를 매핑하고 파이프라인을 구축한 뒤 메타데이터를 제공하는 것까지 간단하게 살펴보았다.

다음으로는 좀 더 데이터를 잘 활용할 수 있도록  작업을 하나 더 해야 하지 않을까 한다..