이제 ELT와 ETL에 대해서 공부한 것들을 정리한다.

DW와 Data Lake에서 사용되는 ETL과 ELT에 대해서 알아보자

간단한 정의부터 알아보자.

먼저 ETL이다.

ETL은 Extract, Transform and Load로 추출, 변형, 저장(적재)로 볼 수 있고

ETL tool은 각기 다른 RDBMS 시스템으로부터 데이터를 불러오고, 이 데이터들을 변형하여 DW 시스템에 적재한다.

ELT는 데이터 이동에 대한 툴의 접근에 대한 관점을 다르게 본 것으로,

ETL의 순서가 변형되어 Extract, Load and Transform으로 추출, 적재, 변형으로 볼 수 있다.

기존 ETL처럼 데이터를 쓰기 전에 먼저 변형하는 것 대신에, ELT는 타겟 시스템이 데이터의 변형을 할 수 있게 해준다.

즉, 툴이 직접 데이터의 변형을 할 수 있는 것이다.

ELT는 보통 Hadoop Cluster와 같은 No SQL DB를 사용하는데, 클라우드에 설치한다.

간단한 정의를 알아봤으니 비교를 통해 무엇이 다른지 알아보자

  ETL ELT
프로세스 staging server에서 데이터를 변형하고 DW의 DB에 옮김 DW의 DB에 데이터가 남음
코드 사용 Compute-intensive 변형, 적은 양의 데이터 대용량 데이터
변형 ETL 서버나 staging 영역에서 완료 target system에서 실행
적재 시간 데이터가 staging에 먼저 적재되고 나중에 target system에 적재됨. 시간에 민감 target system에 한번만 로드됨. 빠름
변형 시간 데이터 변형이 완료될 때까지 기다려야됨. 데이터 사이즈가 커질수록, 변형에 들어가는 시간이 증가함 데이터 사이즈와 시간은 관계가 없음
유지보수 시간 높은 수준의 유지보수가 요구되고, 적재하고 변형할 데이터를 선택해야 됨 낮은 수준의 유지보수가 요구되며, 데이터는 모두 사용할 수 있음
구현 복잡도 초기 영역에서는 구현이 쉬움 프로세스를 구현하기 위해서는 이에 대한 숙련된 기술과 툴에 대한 깊은 이해가 요구됨
DW를 위한 지원 온프라미스 환경에 관계형이고 정형 데이터에 사용됨 확장가능한 클라우드 환경에서 사용되며 정형데이터와 비정형 데이터를 지원
Data Lake 지원 지원하지 않음 데이터 레이크가 비정형 데이터를 사용하게 해줌
복잡도 설계를 하는 시점에 중요한 데이터들만 적재 output backward와 관련있는 데이터에의 개발에만 관련
비용 작은 규모와 중간 규모의 비지니스에 높은 비용 온라인 소프트웨어를 서비스 플랫폼으로 사용하여 진입 비용 절감
검색 staging 영역에 facts와 dimensions이 활성화되어 있어야 됨 모든 데이터가 활성화되어 있어야 됨. 1개의 action에서 추출과 적재가 일어나기 때문
Aggregation 데이터셋에서 추가되는 데이터 단위마다 복잡도 증가 target platform의 힘으로 중요 단위 데이터를 빠르게 처리
계산 기존 column을 덮어쓰거나 데이터셋을 추가하고 target paltform에 push 존재하는 테이블에 계산된 column을 쉽게 추가
성숙도 20년이상 사용되었으며, 문서나 best practice를 쉽게 사용 새로운 컨셉과 복잡한 구현
하드웨어 대부분의 툴이 유니크한 하드웨어를 요구하고 가격이 비쌈 SAAS 형태의 하드웨어로 가격은 이슈가 안됨
비정형 데이터 지원 대부분의 관계형 데이터 지원 비정형 데이터를 즉시 지원

간단하게 ETL와 ELT 그리고 둘의 차이점에 대해 알아봤다.


포스트에 대한 피드백이 있으시다면 여기로 메일 부탁드립니다. 읽어주셔서 감사합니다.