ETL 프로세스란 여러 소스에서 데이터를 수집하고, 이를 표준화하여, 분석을 위한 데이터 웨어하우스 또는 저장을 위한 데이터베이스 또는 기타 유형의 데이터 소스에 적재하는 데이터 통합 프로세스이다.
E(Extract) : 추출
다양한 소스들(비즈니스 시스템, API, 센서 데이터, 데이터베이스 등)로부터 데이터를 추출(수집)한다.
T(Transform) : 변환
다양한 데이터를 표준화하기 위해 여러 기술(솔루션)을 적용한다.
L(Load) : 적재
변환된 데이터를 저장한다.
데이터는 조직의 가장 큰 자산 중 하나이다. 그러나 유용한 데이터는 대부분 구조화되지 않고 여러 소스에 흩어져 있다. 따라서 조직은 데이터를 수집 및 표준화하고 한 위치에서 분석을 준비하기 위해 ETL 형식의 데이터 통합이 필요하다. ETL은 데이터에 대한 쉽고 균일한 액세스를 보장하기 때문이다.
조직은 요구 사항에 따라 다양한 유형의 ETL 도구를 사용한다.
ELT 프로세스란 추출된 데이터를 먼저 적재한 이후 변환을 하는 프로세스이다.
매개변수 | ETL | ELT |
---|---|---|
프로세스 순서 | 추출 데이터를 스테이징 영역에서 변환 후 대상 시스템에 로드. | 스키마를 데이터 웨어하우스에 직접 매핑 및 로드하고 로드 데이터를 분리/변환. |
핵심 초점 | 데이터 변환, 데이터 마스킹, 정규화를 진행 중인 테이블 간 조인. | 데이터가 추출되어 대상 시스템에 직접 로드. |
개인 정보 보호 준수 | 민감한 정보는 대상 시스템에 로드되기 전에 수정 가능. | 데이터는 민감한 세부 정보를 제거하지 않고 원시 형식으로 업로드. 마스킹은 대상 시스템에서 처리되어야 함. |
유지 보수 요구사항 | 변환 논리 및 스키마 변경 관리에는 더 많은 수동 오버헤드가 필요. | 변환이 구현되는 데이터 웨어하우스에서 유지 관리 해결. |
지연 시간 | 일반화 할수록 더 높은 대기 시간. 스트리밍 ETL로 최소화할 수 있음. | 변환이 거의 또는 전혀 없는 경우 대기 시간 단축. |
데이터 유연성 | 가동 시간을 최대화하기 위해 맞춤형 규칙 및 논리로 엣지 케이스를 처리. | 스키마 드리프트 및 주요 재동기화 주변의 에지 사례를 위한 일반화된 솔루션 – 주의 깊게 계획하지 않으면 다운타임 또는 대기 시간 증가로 이어질 수 있음. |
분석 유연성 | 사용 사례 및 보고서 모델을 사전에 정의. | 스키마 진화를 통해 언제든지 데이터를 추가. 분석가는 대상 웨어하우스에서 새로운 보기를 구축. |
데이터 규모 | 확장 가능한 분산 처리 시스템이 아닌 경우 ETL에 의해 병목 현상이 발생할 수 있음. | ELT 도구에서 더 적은 처리가 발생하므로 내재적으로 더 확장 가능. |
ETL과 ELT의 장점을 결합하는 방법이다.
1) 데이터 수집 속도를 높이는 동시에 2) 규정 준수 표준에 따라 데이터 품질을 보장하고, 3) 민감한 데이터를 보호하는 데이터 통합에 대한 접근방식이다.
💻 데이터 엔지니어가 ETL/ELT/ETLT을 이해해야 하는 이유?
대량의 데이터가 발생함으로 인해 'Data Lake' 개념이 생겼다. 즉 모든 데이터를 모두 저장한 후 용도에 따라 가져다 쓰는 논리가 생긴 것이다.
따라서 데이터 웨어하우스, 머신러닝, 클라우드 마이그레이션 또는 기타 데이터 프로젝트에 따라 데이터 통합 접근 방식을 이해하고 선택하는 것은 매우 중요하다.