데이터 엔지니어로서 ETL(Extract-Transform-Load)이라는 데이터 통합 방법론을 들어보셨을 것입니다. 이 방법은 오랫동안 존재해 왔으며, 많은 데이터 엔지니어들이 데이터 파이프라인을 구축하는 데 이 방법론을 사용해 왔습니다. 하지만 ETL만이 유일한 선택지는 아닙니다. 최근에는 ELT도 점점 인기를 얻고 있습니다. 이 글에서는 ETL과 ELT를 비교하여 각각의 장단점을 이해하고, 프로젝트에 더 적합한 방법론을 선택할 수 있도록 돕고자 합니다.

먼저 ETL이 어떻게 작동하는지 살펴보겠습니다. ETL 프로세스는 일반적으로 데이터 소스에서 데이터를 추출하는 것으로 시작합니다. 그 후 이전에 추출한 데이터에 대해 변환을 수행합니다. 마지막으로, 변환된 데이터를 향후 사용을 위해 저장소에 로드합니다. ETL 프로세스에서 데이터 변환이 로딩 전에 이루어진다는 점이 ETL의 대부분의 장점에 기여합니다.
첫째, ETL은 ETL 프로세스가 완료된 후 즉시 변환된 데이터에 접근할 수 있게 해줍니다. 이러한 즉각적인 접근 덕분에 데이터를 소비하기 전에 거의 또는 전혀 준비하지 않아도 됩니다. 둘째, ETL 프로세스의 데이터 계보는 투명하고 이해하기 쉽습니다. 각 ETL 프로세스마다 데이터 변환 프로세스가 미리 정의되어 동일하게 유지되기 때문입니다. 셋째, ETL은 준수 친화적입니다. 때로는 개인정보 보호 준수를 요구할 수 있는데, 이는 개인 정보를 최종 목적지에 로드하지 않아야 한다는 요구입니다. ETL은 데이터 저장 전에 변환 단계에서 민감한 정보를 가리거나 암호화하거나 제거할 수 있어 이러한 준수 요구사항에 적합합니다.
그럼에도 불구하고 ETL에는 여러 단점이 있습니다: 첫째, ETL 프로세스는 시간이 꽤 소요될 수 있습니다. 모든 데이터 변환이 데이터 로드가 이루어지기 전에 완료되어야 하므로, 데이터 변환이 완료될 때까지 데이터를 사용할 수 없습니다. 데이터 변환 과정의 복잡성에 따라 최종 데이터는 오래 접근할 수 없을 수도 있습니다. 둘째, ETL은 경직성 문제를 가지고 있습니다. 변환 과정이 미리 정해져 있기 때문에, 임시방편의 요구사항에 대응해 ETL 파이프라인을 수정하기 어렵습니다. 셋째, ETL은 취약할 수 있습니다. 데이터를 최종 데이터 저장소에 로드하기 전에 변환을 수행하면, 변환 단계에서 문제가 발생하면 ETL 파이프라인이 데이터를 저장하지 못합니다.

ETL의 한계를 극복하기 위해 데이터 과학자들은 새로운 데이터 통합 방법론인 ELT를 고안했습니다. ELT는 추출(extraction), 로딩(loading), 변환(transformation)을 의미합니다. ETL과 ELT는 기본 단계를 공유하지만, 각 단계의 순서는 다릅니다. ETL과 달리, ELT는 추출된 전체 데이터를 로드한 후 데이터 변환을 수행하므로 ELT의 다음과 같은 장점이 있습니다.
첫째, ELT 파이프라인은 추출된 데이터를 변환 전에 불러오기 때문에 변환되지 않은 데이터를 즉시 접근할 수 있게 해줍니다. 둘째, ELT는 더 유연합니다. ELT 방법론을 채택하면, 초기 데이터 소스에서 추출한 모든 데이터에 접근할 수 있기 때문에 데이터 사용량에 대한 요구사항 변화에 따라 매번 데이터 변환 과정을 맞춤화할 수 있습니다. 셋째, ELT 파이프라인을 통해 비정형 데이터를 쉽게 저장할 수 있습니다. 초기 데이터를 변환하거나 구조화할 시간이나 컴퓨팅 자원이 없더라도 모두 저장하고 나중에 변환과 구조화를 걱정할 수 있습니다.
요약하자면, ETL과 ELT는 추출, 변환, 로딩이라는 동일한 기본 단계를 포함합니다. 각각의 장단점은 주로 데이터 변환이 로딩 전인지 후인지에 달려 있습니다. 이제 ETL과 ELT의 차이를 충분히 이해하셨으니, 프로젝트에 가장 적합한 데이터 통합 방법론을 선택하는 것이 더 쉬워질 것입니다. 경험칙을 말씀드리자면, 구조화된 소규모 소스 데이터를 보유하고 목표 데이터의 요구되는 형식이 비교적 일관적일 때는 ELT보다 ETL을 선택하세요. 반면, 비구조화된 대규모 소스 데이터를 가지고 있고 목표 데이터에 대한 요구사항이 계속 변할 때는 ETL 대신 ELT를 선택하세요. 이 글을 읽어주셔서 감사합니다. 데이터 엔지니어링 여정에 행운이 함께하길 바랍니다.
추가 자료: ETL 대 ELT 개요