ETL <-> ELT, DataLake <-> DataWarehouse

etl_elt

ETL

➡️Extract, Transform, Load

여러가지 데이터 소스에서 Extract 추출하고

데이터를 원하는 형태로 Transform 변형하고

DW로 Load 적재 하는 과정

즉, 데이터 소스에서 가져온 raw 데이터로 데이터웨어하우스에 바로 저장할 수 없어 ETL과정이 필요하다.

핵심은 Transform 하는 단계로 비즈니스 또는 분석 용도에 맞춰 정제.

데이터의 크기 ↑ Transform 비용↑

ELT

➡️ 데이터를 Extract하고 Load(적재)를 먼저 한 후 Transform 하는것.

모든 데이터 소스를 하나의 공간(DataLake)로 적재 한 뒤,

그 용도에 따라서 필요한 경우 툴이나 시스템이 직접 변형하게 하는 과정


DataWarehouse

  • 어느 정도 가치가 있고, 구조화된 데이터들이 모여있는 곳으로 공간의 제약이 있어 필요한 모든 데이터를 저장하지 않고 어느정도 최근 데이터만 저장한다. BI툴이랑 연결해서 시각화 지표계산을 하는게 일반적이다.

Data Lake

  • 데이터웨어하우스 기반 파이프라인보다 훨씬 더 큰 개념 구조화된 데이터도 있지만 비구조화된 데이터들도 존재. DW보다 용량도 크고 저렴해서 모든 데이터를 다 저장한다.
    • 대표적인 예로 AWS의 S3 → 적어도 key를 기준으로 파티셔닝해서 데이터를 관리함. 데이터가 중복될 수도 있다.
    • 데이터 레이크 중에서 의미가 있고 최근 데이터만 transform 해서 데이터웨어하우스에 Load된다.
    • 보통 데이터 레이크에 있는 데이터가 너무 많아서 일반적인 pandas 가지고는 처리하기 어렵다 그래서 분산컴퓨팅환경(spark, athena, redshift spectrum)을 통해서 data transform을 한다.

데이터 파이프라인이란 무엇일까?

  • 데이터 파이프라인의 시작은 왜, 어디에서, 어떻게 데이터를 수집할 것인가에서 부터 시작한다.
  • 데이터 파이프 라인을 구축하기 위해서는 여러 소프트웨어적인 수동 작업들을 제거해야하며 Data가 각 지점을 순조롭게 flow하도록 만들어야한다. Data의 extracting, transforming, combining(결합), validating(검증), loading(적재)하는 과정들을 자동화 하는 것이다.
  • 또한, 여러 데이터 스트림을 한번에 처리해야한다. 이 모든 과정은 오늘달 data-driven enterprise에서 필수적이다.
  • 데이터 파이프라인은 모든 종류의 스키마의 데이터를 수용해야한다. 입수하고자하는 파일이 static source든 real time source이든 데이터파이프라인에서는 해당 파일의 데이터는 작은 단위로 들어와서 병렬로 처리된다.

데이터 파이프라인과 ETL의 차이는 무엇일까?

  • ETL 시스템은 하나의 시스템에서 Data를 추출하고, data를 변환하여 database나 datawarehouse에 적재한다. ETL파이프 라인은 보통 배치로 작동하고 큰 덩어리의 데이터를 특정 시간에 한공간에 저장하는 작업을 한다.
    • 예를 들어 새벽에 시스템 트래픽이 낮아질 때 배치가 돌아서 데이터를 모아 적재하는 작업
  • 반면에, 데이터 파이프라인은 ETL을 서브셋으로 포함하는 광법위한 용어이다. 데이터를 한 시스템에서 또 다른 시스템으로 옴기는 작업을 뜻한다. 해당 데이터는 Transform 되는 경우도 있고 안하는 경우도 있다. 또한 실시간 성으로 처리하는것도 있고 배치성으로 처리할 수도 있다. 데이터가 지속적으로 흘러서 업데이트가 되는 경우가 있는데 Traffic센서 모니터링과 같은 경우를 예로 들 수 있다. 데이터파이프라인을 통해 가져온 데이터는 database나 datawarehouse에 쌓지 않는 경우도 있고 혹은 다중으로 데이터를 쌓는 경우도 있다.

BI

Business Intelligence의 약자로 데이터를 통합/분석 하여 기업 활동에 연관된 의사결정을 돕는 프로세스를 말한다.

  • 가트너는 BI를 여러 곳에 산재되어 있는 데이터를 수집하여 체계적이고 일목요연하게 정리함으로써 사용자가 필요로하는 정보를 정확한 시간에 제공할 수 있는 환경

참고

ETL ELT 차이

데이터파이프라인이란 무엇인가?