데이터의 흐름: 기본적인 데이터 파이프라인 개념 설명

Song Joyce Park
5 min readJun 17, 2021

--

스타트업계로 오게 된 후로는 데이터 파이프라인이 얼마나 중요한지 뼈저리게 느끼고 있습니다. 데이터베이스 지식, 데이터 파이프라인 지식을 가지고 있는 게 중요하다고 생각해서 전부터 배우려고 노력은 했지만 역시 산전수전 다 직접 겪어봐야 빠르게 성장 할 수 있습니다 😅

저도 아직 많이 부족하지만, 데이터 외 직군 혹은 데이터를 다루지만 데이터 파이프라인에 대한 지식이 부족한 분들을 위해 아주 기본적인 개념들을 설명하려 합니다.

기본 용어

비슷하지만 조금씩 다른 파이프라인 관련 용어.

ETL (Extract, Transform, Load): 데이터를 추출하고(extract) → 변환하여 (transform) → 적재하는 (load) 데이터 웨어하우스 구축 프로세스

ELT (Extract, Load, Transform): 데이터를 추출하고 (extract) → 적재하고 (load) → 변환하는 (transform) 프로세스

Data Warehouse (DW): 다양한 소스에서 발생한 데이터를 하나의 통합된 형태로 저장하는 공간. 데이터는 설계된 스키마에 맞게 처리되어 저장된다

Data Lake: 다양한 소스에서 발생한 데이터를 그대로 가져와 저장하는 공간. 데이터 웨어하우스와 달리 정형/반정형/비정형 데이터 등 다양한 형태의 소스 raw 데이터를 통합하지 않고 한 곳에 모은다

Data Mart: 특정 목적 (대체로 팀/부서와 같은 조직 단위)을 위해 만들어진 데이터 웨어하우스. 보통 하나의 데이터 웨어하우스에서 조직 단위별로 여러 데이터 마트가 만들어진다

Data Pipeline: 데이터가 흐르는 모든 과정의 총칭 (생성, 변환, 저장, 등)

RDB (Relational Database): 2차원 (속성, 값) 형식 테이블들로 구성된 관계형 데이터베이스. “관계형”이란 각 테이블 안에서 속성과 값 사이 관계가 있고 테이블과 테이블 사이에도 관계를 가지고 있다. 가장 일반적인 데이터베이스 타입이고 일반적으로 SQL (Structured Query Language) 언어를 통해 데이터를 조회한다

RDBMS (Relational Database Management System): 관계형 데이터베이스 관리 (생성, 수정, 등)를 위한 프로그램. 예: MySQL, Oracle, SQL Server, 등등

기본 ETL 과정

조직마다 설계가 다르고 구체적인 프로세스는 보기보다 훨씬 복잡하지만, 대부분 아래와 같은 ETL 프로세스를 통해 데이터 웨어하우스를 구축합니다.

ETL Process

Extract. 다양한 곳에서 생성된 데이터를 추출하는 단계. 조직마다 소스들은 다르지만 커머스에서는 가장 기본적으로 아래와 같은 데이터 소스들이 있습니다:

  • 운영 데이터베이스 → 주문, 상품 데이터와 같은 데이터가 담긴 데이터베이스
  • 웹/앱 이벤트 데이터
  • 마케팅 데이터 → 페이스북, 구글, 카카오, 등
  • 사용하는 다른 서드파티 앱 데이터

Transform. 소스 데이터가 어떤 형태인지에 따라 이 과정은 많이 달라집니다. 간단한 변환은 각 소스의 날짜 컬럼 형식들을 하나의 기준으로 맞추기, 빈값 처리하는 방식 통일하기와 같은 작업이 있고 보통 테이블들을 조인하고 계산된 필드 만드는 변환이 들어갑니다 → 예: members 테이블에 각 멤버의 구매 이력 관련 컬럼 생성 (첫 구매일, 지난 3개월 총 구매액, 등등). 자주 보는 지표들은 summary 테이블로 만들 수 있습니다 → 예: 일별 거래액, 일별 모든 매체의 총 마케팅 비용 합계.

Load. 변환된 데이터를 데이터 웨어하우스에 적재합니다.

ETL vs ELT

ELT는 여러 소스 데이터를 추출하여 바로 raw 형태로 적재 후 변환합니다. 즉, 데이터 레이크에 일단 모든 소스의 데이터를 담고 변환은 스테이징 필요 없이 데이터 레이크/웨어하우스 안에서 이루어집니다. 최신 클라우드 기반 기술로 인해 ETL에 비해 비교적 새로운 기술이고 뜨고 있는 데이터 처리 방식입니다. 이 과정은 적재가 빠르게 이루어진다는 게 장점이지만 유연한 만큼 데이터 신뢰/정합성은 떨어질 수 있습니다.

Data Mart

큰 규모 조직에서는 조직 단위로 특화된 데이터 마트를 설계하고 각 조직에서 봐야 하는 데이터만 볼 수 있게 권한을 관리합니다. 스타트업이나 더 작은 규모의 조직에서는 비교적 팀/부서와 같은 조직 단위 사이 경계가 덜 명확하기 때문에 조직 단위별 마트 없이 하나의 데이터 웨어하우스를 사용하는 방식이 크게 문제 되지 않을 수 있습니다.

하지만 전사 조직용 데이터에 비해 데이터 마트에 있는 테이블들은 유연하게 수정, 변환 작업을 할 수 있기 때문에 빠르게 변하는 스타트업 조직에도 데이터 마트를 잘 활용하면 효율적으로 분석하고 인사이트 얻을 수 있습니다.

Data Mart Process

--

--

Song Joyce Park
Song Joyce Park

Written by Song Joyce Park

Data Analyst turned Product Manager. New Yorker turned Seoulite.

No responses yet