추출(Extract), 변환(Transform), 그리고 적재(Load). 이렇게 보면 ETL(Extraction, Transformation, Loading)은 참 단순한 개념 같다. 그러나 데이터 파이프라인 관리 경험이 있는 사람은 이 단순해 보이는 이름 뒤에 얼마나 복잡한 과정이 숨겨져 있는지 알고 있다.
특히 엔지니어들의 머리를 쥐어 뜯게 만드는 것은 바로 '변환(transform)' 단계다. 여기서 변환이란 미변환 상태의 로우 데이터(raw data)를 정리, 필터링, 정형(reshaping)하고, 요약해 분석에 적합한 상태로 바꾸어놓는 과정을 일컫는다. ETL 과정에서 바로 이 단계가 가장 많은 시간과 에너지가 들어가며 대부분 실수가 발생하는 부분도 이 단계다.
ETL이 어렵다면 왜 이런 식으로 변환하는 것인가
간단히 말하자면 다른 방법이 없기 때문이다. 데이터웨어하우스는 소스 시스템에서 추출된 상태 그대로의 로우 데이터를 처리하지 못한다. 따라서 이런 데이터를 적재해 분석의 대상으로 삼기 위해서는 반드시 변환 단계가 필요하다.
하지만 여기에 들어가는 비용은 다양한 형태로 변환될 수 있는 로우 데이터를 유지하는 대신, 변환 과정을 거침으로써 데이터는 어느 정도의 유동성을 상실한 중간 단계 형태로 변화한다. 이를 통해 데이터 레솔루션(resolution)의 일부가 사라지고, 데이터에 현재 비즈니스 메트릭스를 적용하게 되며, 쓸모없는 데이터를 버리는 과정이 선행된다.
그리고 만일 이런 과정들 가운데 어느 하나라도 빠지거나 바뀌었다면, 예를 들어 이전까지는 하루 단위로 처리하던 데이터를 이제 시간 단위로 필요로 하게 되었거나, 메트릭 데피니션이 바뀌거나, '쓸모 없다'고 생각했던 데이터 중 일부가 필요한 것으로 변경된다면 데이터 변환 로직을 이에 맞춰 변화시키고, 데이터를 다시 프로세싱한 후 재적재해야 한다.
http://www.itworld.co.kr/news/106925
'04.Database' 카테고리의 다른 글
DB 유형 (0) | 2020.09.22 |
---|---|
품질관리 - 데이터 품질 - 관리 - DQM (0) | 2020.06.08 |
정규화 - 관계대수 (0) | 2020.06.08 |
동시성 제어 - 타임스탬프 순서 (Timestamp Ordering) (0) | 2020.06.08 |
DB 유형 - 통계 DB (0) | 2020.06.08 |