[DE] ETL과 ELT의 개념 (+ETLT)

YeonJoo You·2023년 1월 25일
0

Data Engineering

목록 보기
1/1
post-thumbnail

1. ETL

1-1. 정의

ETL 프로세스란 여러 소스에서 데이터를 수집하고, 이를 표준화하여, 분석을 위한 데이터 웨어하우스 또는 저장을 위한 데이터베이스 또는 기타 유형의 데이터 소스에 적재하는 데이터 통합 프로세스이다.

1-2. 단계

  • E(Extract) : 추출

    다양한 소스들(비즈니스 시스템, API, 센서 데이터, 데이터베이스 등)로부터 데이터를 추출(수집)한다.

    • 변경 알림 기반 데이터 추출
    • 증분 데이터 추출
    • 전체 데이터 추출
  • T(Transform) : 변환

    다양한 데이터를 표준화하기 위해 여러 기술(솔루션)을 적용한다.

    • 표준화
    • 정리
    • 중복 제거
    • 형식 수정
  • L(Load) : 적재

    변환된 데이터를 저장한다.

    • 전체 적재
    • 증분 적재

1-3. 필요성

데이터는 조직의 가장 큰 자산 중 하나이다. 그러나 유용한 데이터는 대부분 구조화되지 않고 여러 소스에 흩어져 있다. 따라서 조직은 데이터를 수집 및 표준화하고 한 위치에서 분석을 준비하기 위해 ETL 형식의 데이터 통합이 필요하다. ETL은 데이터에 대한 쉽고 균일한 액세스를 보장하기 때문이다.

1-4. 도구

조직은 요구 사항에 따라 다양한 유형의 ETL 도구를 사용한다.

  • 직접 코딩(사용자 지정 스크립트 생성)
  • 배치 프로세싱 도구
  • 오픈 소스 도구
  • 실시간 도구

1-5. 특징

  • 워크플로우가 잘 정의되어 있어야 하며 연속적이고 지속적인 프로세스를 가진다.
  • 데이터 엔지니어 및 개발자의 상세 계획, 감독 및 코딩이 필요하다.
  • 최신 ETL 솔루션은 쉽고 빠르다.

1-6. 장점

  • 통합 데이터 리소스 보존
  • 높은 효율성 및 생산성, 안전성
  • 개인 정보 보호 및 보호 규정 준수

1-7. 단점

  • 방대한 데이터 대비 느린 속도
  • 빈번한 유지 관리
    • 데이터 유형 변경
    • 결합된 ETL 파이프라인
  • 높은 초기 비용

2. ELT

2-1. 정의

ELT 프로세스란 추출된 데이터를 먼저 적재한 이후 변환을 하는 프로세스이다.

2-2. 특징

  • 데이터 스테이징(임시 테이블)이 필요하지 않다.
  • 정형, 비정형, 반정형 데이터 유형의 모든 데이터 타입이 활용 가능하다.
  • 데이터 레이크(Data Lakes)에서 동작한다.
    • 형식이나 데이터 종류에 관계없이 모든 유형을 Raw 형태로 적재할 수 있다.
  • 고속 클라우드 서버 기반 프로세스이다.
  • 필요한 데이터만 변환할 수 있다.
  • ETL 보다 신뢰성이 낮다.

2-3. 장점

  • 새로운 비정형 데이터에 대한 유연성 및 저장 용이성
  • 빠른 추출 및 로딩
  • 짧은 적재 시간
  • 낮은 유지 보수 비용

2-4. 단점

  • 과도한 일반화
  • 보안 허점
  • 개인 정보 보호 규정 준수 위험
  • 배치 작업시 대기 시간 증가

3. ETL vs. ELT

매개변수ETLELT
프로세스 순서추출 데이터를 스테이징 영역에서 변환 후 대상 시스템에 로드.스키마를 데이터 웨어하우스에 직접 매핑 및 로드하고 로드 데이터를 분리/변환.
핵심 초점데이터 변환, 데이터 마스킹, 정규화를 진행 중인 테이블 간 조인.데이터가 추출되어 대상 시스템에 직접 로드.
개인 정보 보호 준수민감한 정보는 대상 시스템에 로드되기 전에 수정 가능.데이터는 민감한 세부 정보를 제거하지 않고 원시 형식으로 업로드. 마스킹은 대상 시스템에서 처리되어야 함.
유지 보수 요구사항변환 논리 및 스키마 변경 관리에는 더 많은 수동 오버헤드가 필요.변환이 구현되는 데이터 웨어하우스에서 유지 관리 해결.
지연 시간일반화 할수록 더 높은 대기 시간. 스트리밍 ETL로 최소화할 수 있음.변환이 거의 또는 전혀 없는 경우 대기 시간 단축.
데이터 유연성가동 시간을 최대화하기 위해 맞춤형 규칙 및 논리로 엣지 케이스를 처리.스키마 드리프트 및 주요 재동기화 주변의 에지 사례를 위한 일반화된 솔루션 – 주의 깊게 계획하지 않으면 다운타임 또는 대기 시간 증가로 이어질 수 있음.
분석 유연성사용 사례 및 보고서 모델을 사전에 정의.스키마 진화를 통해 언제든지 데이터를 추가. 분석가는 대상 웨어하우스에서 새로운 보기를 구축.
데이터 규모확장 가능한 분산 처리 시스템이 아닌 경우 ETL에 의해 병목 현상이 발생할 수 있음.ELT 도구에서 더 적은 처리가 발생하므로 내재적으로 더 확장 가능.

4. ETLT

4-1. 정의

ETL과 ELT의 장점을 결합하는 방법이다.
1) 데이터 수집 속도를 높이는 동시에 2) 규정 준수 표준에 따라 데이터 품질을 보장하고, 3) 민감한 데이터를 보호하는 데이터 통합에 대한 접근방식이다.

4-2. 순서

  1. 데이터베이스에서 준비되지 않은 원시 데이터를 추출하여 스테이징 영역으로 로드한다.
  2. 스테이징 영역에 있는 동안 데이터를 '가볍게' 변환한다.
    2-1. 일반적으로 민감한 데이터를 제거/마스킹/암호화
  3. 준비된 데이터를 데이터 웨어하우스에 로드한다.
  4. 데이터 웨어하우스 내에서 데이터를 보다 완벽하게 변환하고 통합한다.

4-3. 특징

  • 데이터 보안 및 규정 준수 요구 사항 충족
  • 고객 신뢰 증진
  • 개인 정보 침해 가능성 제한
  • 데이터 수집 속도 향상
  • 다양한 유형의 분석에 맞게 로드 후 변환을 쉽게 변경 가능하므로 변환 방식에 유연성 제공

5. 마무리

  1. ETL은 데이터를 추출 -> 변환 -> 적재 순으로 처리하는 프로세스이고, ELT는 데이터를 추출 -> 적재 -> 변환 순으로 처리하는 프로세스이다.
  2. ETL은 데이터 스테이징 단계가 소스와 데이터 웨어하우스 사이에 있다. ELT는 데이터 웨어하우스를 활용하여 기본 변환을 수행하며, 데이터 스테이징이 필요 없다.
  3. ETL은 데이터 웨어 하우스에 로드하기 전, 중요 보안 데이터를 처리하여 개인정보 보호 규정 준수를 지원한다. 해싱된 데이터 또한 개인정보 활용 동의 파기시 활용할 수 없는데 ELT에서는 처리가 곤란하다.
  4. ETL은 정교한 데이터 변환을 수행할 수 있고, ELT 보다 비용 효율적일 수 있다.

6. 결론

💻 데이터 엔지니어가 ETL/ELT/ETLT을 이해해야 하는 이유?
대량의 데이터가 발생함으로 인해 'Data Lake' 개념이 생겼다. 즉 모든 데이터를 모두 저장한 후 용도에 따라 가져다 쓰는 논리가 생긴 것이다.
따라서 데이터 웨어하우스, 머신러닝, 클라우드 마이그레이션 또는 기타 데이터 프로젝트에 따라 데이터 통합 접근 방식을 이해하고 선택하는 것은 매우 중요하다.



Reference

0개의 댓글