용어정리
DW (DataWarehouse)
- 어느정도 가치가 있고, 구조화된 데이터들이 모여있는 곳
- 공간제약이 있어 필요한 모든 데이터를 저장하지않고, 어느정도 최근 데이터만 저장
- BI툴이랑 연결해서 시각화해서 지표계산하는게 일반적이다.
Data Lake
- 데이터웨어하우스 기반 파이프라인보다 훨씬 큰 개념(호수)
- 구조화된 데이터, 비구조화된 데이터들 존재
- 데이터웨어하우스보다 용량↑, 비용↓ 처음부터 지금까지 모든데이터를 저장
ETL
- 여러가지 데이터소스에서 추출(Extract)하고,
데이터를 원하는 형태로 변형(Transform)하고,
DW로 적재(Load) 하는 과정.
데이터소스에서 가져온 rawdata로 데이터웨어하우스에 바로 저장할 수 없으니 ETL과정이 필요
핵심은 변형(Transform)이다. 비즈니스 또는 분석용도에 맞춰 데이터를 잘 정제해야한다.
ELT
-
요즘은 ETL에서 ELT로 트렌드가 바뀌고 있다.
데이터를 추출(Extract)하고, 적재(Load)를 먼저 하고, 변형(Transform)하는 것이다.
-
모든 데이터소스를 하나의 공간 (DataLake)에 적재 한뒤, 용도에 따라 필요한 경우 툴이나 시스템이 직접 변형하게 한다.
ETL에서 ELT로 트렌드가 바뀌는 이유?
- 첫번째는, 대량의 데이터.
ETL방식은 데이터가 커질수록 변형하는데 시간이 오래걸린다. 데이터가 많아질수록 ETL방식에 한계가 생기기때문에, 우선 데이터를 저장하고 이 데이터를 어떻게 쓸지는 나중에 고민하자
라는 컨셉으로 DataLake가 생겨났다. DataLake에는 다양한 종류의 데이터가 시간제약없이 들어있다.
데이터모델링을 하는 사람의 관점에서는 원하는 features들이 dw에 없는 경우도 있고, 이럴때 DataLake에서 찾아 사용할 수 있다.
- 두번째는, 리소스들의 가격인하이다.
기존엔 저장공간이 부족해서 미리 변환/정제를 해야했는데 이젠 cpu, ssd, hdd등 리소스 가격이 싸졌을 뿐 아니라 클라우드 사용료도 인하가 되고있어 이정도 가격이면 다 저장해버리는 것이 낫겠다는 판단하에 데이터를 먼저 저장하게 되었다.
참조
https://towardsdatascience.com/how-i-redesigned-over-100-etl-into-elt-data-pipelines-c58d3a3cb3c
https://pearlluck.tistory.com/650