Data [ Engineer & Analytics &science ]/Data Engineer

[ Data Engineer ] 데이터 엔지니어링 공부_02 : 데이터 파이프라인이란?

안다미로 : Web3 & D.S 2025. 1. 7. 17:35

 

[ Data Engineer ] 데이터 엔지니어링 공부_02 : 데이터 파이프라인이란?

 


 

∇ 데이터 파이프라인의 정의.


  ::  "데이터 파이프라인"은

       원천 데이터 소스에서 최종 분석/시각화까지 데이터를 자동화하여 이동시키는 일련의 프로세스입니다.

 

    ◎ 데이터 파이프라인 사용 예시.

           - 파이프를 한번 만들면(just like 배수관 파이프, 여기서 데이터는 배수관 안에서 흐르는 물) 큰 문제가 없는 한 데이터가 계속 들어와서 쌓이게 될 것입니다.

 

           - 적은 수고를 들이고 효율적으로 필요한 데이터를 모으려면

                  데이터를 가져오는 과정에서 정제자 전처리가 쉽도록, 데이터 형태도 고쳐주고 필요없는 데이터는 제거하고 

                     함께 보는게 좋은 데이터들은 합쳐서 저장하면 좋습니다.

 

           - > 이러한 목적으로 만드는 것이 "데이터 파이프라인"

 


∇ 데이터 파이프라인의 단계


 

 

       ◆ Data Extracting(Ingestion) : 데이터 추출(수집)

               -> 다양한 형식의 원시 데이터를 수집하고 파이프라인으로 가져오는 단계,

               -> API, SQL 및 NoSQL 데이터베이스, 파일 등 다양한 소스에서 데이터 추출

.

       ◆ Data Transforming(Precessing): 데이터 변경(처리)

               -> 수집된 데이터를 정제, 변환, 집계, 필터링하는 단계.

               -> ETL(Extram Transform, Load) 또는 ELT(Extract, Load, Transform) 과정 포함.

 

       ◆ Data combining(Storage) : 데이터 결합(저장)

               -> 처리된 데이터를 데이터베이스, 데이터 웨어하우스, 데이터 레이크 등에 저장.

 

       ◆ Data validating(Analysis) : 데이터 검증(분석)

               -> 저장된 데이터를 분석하여 인사이트 도출.

               -> 데이터 시각화 도구, 통계 분석, 머신러닝 등 활용.

 

       ◆ Data loading(Consumption) : 데이터 적재(소비)

               -> 분석된 데이터를 보고서, 대시보드, 애플리케이션, API 등을 통해 제공.

 

 

이 중 [ 데이터 추출, 변환, 적재 ] 를 묶어서 ETL이라고 합니다.

    ETL은 데이터 파이프라인 하위 개념으로, 하나의 시스템에서 데이터를 추출해 변환하여 

      데이터 베이스 or 데이터 웨어하우스에 차곡차곡 쌓아둡니다.

 

 

 


 

∇ 데이터 파이프라인의 주요 특징.


      ▲ 데이터의 자동화된 흐름 지원.

      ▲ 다양한 데이터 소스 통합

      ▲ 데이터 품질 개선.

      ▲ 비즈니스 의사결정 지원.

 


∇ 데이터 파이프라인 유형.


      1. 스트림 처리 파이프라인 : 실시간 데이터 처리.

      2. 배치 처리 파이프라인 : 대량의 데이터를 주기적으로 처리.

 

 


∇ 데이터 파이프라인 구축을 위해 필요한 것.


 

      1 ) 분산 처리 프레임워크

              ● Hadoop, Spark( PySpark )

              ● 대규모의 데이터 셋을 효율적으로 처리하기 위해서 사용합니다.

                     하나의 대형 컴퓨터를 사용해서 데이터를 처리 & 저장 하는 대신에,

                     분산 처리 프레임워크를 사용하면

                     상용 하드웨어를 함께 클러스터링하여 대량의 데이터 세트를 병렬로 분석 가능합니다.

 

 

      2 ) 데이터 레이크.

              ● S3, HDFS

              ● 모든 데이터를 그대로 저장하고, 나중에 필요한 것만 꺼내서 사용하는 스토리지.

 

 

      3 ) Workflow 관리 시스템.

              ● Airflow, Oozie, Dagster, Argo.

              ● 여러가지 태스크들(데이터셋 생성, 모델 학습 등)을 일련의 그래프로 연결하고

                     스케쥴링, 모니터링 등 파이프라인을 관리할 수 있습니다.

 

Airflow에서 사용한 'DAG'이란?

Directed Acyclic Graph, 즉 방향이 있지만 순환하지는 않는 그래프입니다.

라면 끓이는 work flow를 생각해보면
물끓이기 -> 스프 넣기 -> 면 넣기 -> 계란 넣기

task마다 방향은 있지만 다시 원류로 돌아오지는 않습니다.
순환하지 않는 이러한 그래프를 코드로 나타냅니다.

 

            

      4 ) 데이터 레이크.

              ● BigQuery etc

              ● 대량의 데이터를 분석하기 좋게 체계적으로 보관해놓은 데이터 창고입니다.

              ● 가공되지 않은 데이터를 모아 놓은 창고는 '데이터 레이크' 입니다.

 

데이터 웨어하우스의 주요 특징 4가지

1. 주체 지향
    => 업무 중심이 아니라, 주제 중심으로 데이터를 조직화 합니다
       [ 고객 거래처, 상품, 활동 등 ]
2. 통합
    => 데이터를 활용하기 좋은 형태로 변환하기 위해 표준화 기준으로
       설정, 적용함으로 데이터를 통합해야 합니다.

3. 시계열
    => 시간 별로 데이터 버전들을 저장합니다. 
        [ 데이터를 시간에 따라 수시로 갱신하거나 변경 X ]

4. 비휘발성.
    => 데이터 우에ㅓ하우스의 데이터로 수행할 수 있는 작업은 
        데이터 로딩, 데이터 엑세스 뿐입니다.
       [ 데이터의 변경, 삭제는 이뤄지지 않습니다. ]