ETL과 ELT에 대해 알아보자

ETL과 ELT에 대해 알아보자

ETL

ETL이란?

ETL 이란, Extract(추출) - Transform(변환) - Load(적재) 이다.

  • Extract(추출): 원본 데이터베이스 혹은 데이터 소스에서 데이터를 가져온다.
  • Transform(변환): 가져온 데이터를 용도에 맞게 필터링/정재 등의 단계를 거쳐 적재할 스키마에 맞춰 변환한다.
  • Load(적재): 데이터를 스토리지에 저장한다.

ETL은 데이터 웨어하우스에서 분석을 위해 데이터를 준비하는 전통적인 방식이다. 데이터가 분석에 최적화된 상태로 정리하여 사용됩니다.

ETL은 데이터 소스에서 스테이징을 거쳐 데이터 웨어하우스에 적재하는 프로세스를 가진다.

장점

  • 데이터를 구조화하여 저장하기 때문에 빠르고 효율적으로 데이터 분석이 가능하다.
  • 정교한 데이터 변환이 가능하다.

단점

  • 데이터를 변환하여 적재하기 때문에 시간이 다소 소요되기 때문에 데이터 수집 프로세스가 느리다.
  • 데이터의 종류와 양이 많아질수록, 데이터의 성격마다 각각의 변환 과정이 필요하기 때문에 지속적인 유지보수가 필요하다.
  • 정해진 데이터 형식에 맞춰서 변환하기 때문에, 다른 형태의 데이터가 필요할 때 유연하게 대처하기 어렵다.

ELT

ELT란?

ELT 란, Exract(추출) - Load(적재) - Transform(변환) 이다.

  • Extract(추출): 원본 데이터베이스 혹은 데이터 소스에서 데이터를 가져온다.
  • Load(적재): 데이터를 스토리지에 저장한다.
  • Transform(변환): 데이터 변환이 필요할 경우, 적재된 데이터를 용도에 맞게 필터링/정재 등의 단계를 거쳐 적재할 스키마에 맞춰 변환하여 사용한다.

ELT는 클라우드나 빅데이터 환경에서 유연하고 대규모 데이터를 다루는 데 적합하며, 실시간 분석이나 다양한 데이터 활용에 유리하다.

ELT는 DW/DL을 사용하여 변환하기 때문에 데이터 스테이징을 할 필요가 없다.

장점

  • 미리 적재한 후 필요한 맞춰 변환할 수 있기 때문에 다양한 분석에 유연하게 대처할 수 있다.
  • DW/DL에서 직접 변환 작업을 하기 때문에 대규모 데이터 처리에 적합하다.
  • 실시간 분석을 위해 데이터 스트리밍/파이프라인을 구성할 수 있다.

단점

  • 변환 작업이 적재 이후에 이뤄지기 때문에, 적재 단계에서 데이터의 품질이 보장되지 않을 수 있다.
  • 여러 데이터 소스가 적재되기 떄문에 데이터 정재나 관리가 어려워질 수 있다.
  • 실제로 당장 필요한 데이터보다 더 많은 데이터를 미리 적재하기 때문에 저장 공간을 더 많이 사용하게 된다.

실사례에 대해 알아보자

ETL과 ELT를 기업에서는 어떤식으로 활용하고 있는지에 대해 알아보자.

딜라이트 (출처)

딜라이트에서는 기존에 ETL을 사용했지만, 시간이 지나면서 변환/적재 과정에서 트래픽 비용/시간 소요/네트워크 전송 실패 등과 같은 문제를 겪게 되어 ELT를 채택하게 되았다고 한다.

ELT를 채택함으로써, 데이터들을 미리 적재한 뒤 필요에 따라 데이터 웨어하우스 내에서 처리를 할 수 있도록 했다고 한다. 이로 인해 관리해야 할 요소가 줄어들고, 데이터 모델링에 있어서 더 많은 유연성을 가져갈 수 있게 되었다고 한다.

나의 생각

당장 데이터 분석에 필요한 데이터가 아니라면, 데이터 레이크에 미리 적재를 하고 필요한 경우 변환하여 사용하는 것이 더 유리할 것이라고 생각한다.

하지만 실시간으로 알고리즘을 통해 데이터 분석이 필요하다면 바로 변환하여 적재할 수 있는 ETL이 더 유리할 것 같다.