추출(Extract), 변환(ETL), 로딩(Load)을 의미하는 ETL은 여러 데이터 소스의 데이터를 일관성 있는 단일 데이터 저장소로 통합한 다음 데이터 웨어하우스나 기타 타깃 시스템에 로딩하는 데이터 통합 프로세스입니다.
데이터베이스가 1970년대에 널리 보급됨에 따라 컴퓨팅 및 분석의 목적으로 데이터를 통합하고 로딩하는 프로세스로 ETL이 도입되었고, 결국 데이터 웨어하우징 프로젝트를 위한 기본적인 데이터 처리 방법으로 자리잡았습니다.
ETL은 데이터 분석 및 머신러닝 워크스트림의 기반을 마련합니다. ETL은 일련의 비즈니스 규칙을 적용하여 데이터를 정리하고 체계화함으로써 월간 보고와 같은 구체적인 비즈니스 인텔리전스 요구 사항을 해결할 수 있게 합니다. 그뿐만 아니라 더 차원 높은 분석도 지원함으로써 백엔드 프로세스 또는 최종 사용자 경험 개선에도 기여합니다. 각 기업에서는 대개 다음과 같은 목적으로 ETL을 활용합니다.
ETL 작업을 빌드하고 실행하는 방법 보기
2021년 데이터 통합 툴 Gartner Magic Quadrant 보고서 읽기
IBM DataStage 개요(169KB) 읽기
ETL과 ELT의 가장 뚜렷한 차이점은 작업 순서에 있습니다. ELT는 소스 위치에서 데이터를 복사하거나 내보냅니다. 그리고 변환을 위해 데이터를 스테이징 영역에 로딩하지 않고, 그 원시 데이터를 타깃 데이터 저장소에 곧바로 로딩하여 필요에 따라 변환할 수 있게 합니다.
두 프로세스 모두 데이터베이스, 데이터 웨어하우스, 데이터 레이크 등과 같은 다양한 데이터 저장소를 활용하지만, 각각 장단점이 있습니다. ELT는 특히 대규모의 비정형 데이터 세트를 처리할 때 유용합니다. 소스에서 곧바로 로딩을 수행할 수 있기 때문입니다. ELT는 초기에 데이터 추출 및 저장을 면밀하게 준비하지 않아도 되므로 빅데이터 관리에 더 효과적일 수 있습니다. 이와 달리 ETL 프로세스는 초기에 더 명확한 정의가 이루어져야 합니다. 추출 작업을 위해 데이터 포인트를 구체적으로 식별하는 것은 물론 상이한 소스 시스템 간 통합을 위한 잠재적 "키"도 식별해야 합니다. 이 작업을 마친 다음 데이터 변환을 위한 비즈니스 규칙도 구성해야 합니다. 일반적으로 이 작업은 해당 데이터 분석 유형의 데이터 요구 사항에 따라 달라질 수 있습니다. 이는 해당 데이터에 필요한 요약 수준을 결정합니다. 클라우드 데이터베이스가 보급되면서 ELT가 더욱 많이 쓰이고 있지만, 최신 프로세스인 만큼 불리한 점도 있습니다. 즉, 모범 사례가 아직 개발되는 중입니다.
ETL 작동 방식을 가장 쉽게 이해하기 위해서는 이 프로세스의 각 단계에서 무슨 일이 일어나는지를 알면 됩니다.
데이터 추출 과정에서는 소스 위치의 원시 데이터를 스테이징 영역으로 복사하거나 내보냅니다. 데이터 관리 팀은 각종 정형 또는 비정형 데이터 소스에서 데이터를 추출할 수 있습니다. 다음을 비롯한 다양한 소스가 여기에 해당합니다.
스테이징 영역에서는 원시 데이터에 대한 데이터 처리 작업이 이루어집니다. 여기서는 계획대로 분석 활용 사례에 맞게 데이터를 변환하고 통합합니다. 이 단계에서 다음 작업이 이루어질 수 있습니다.
이 마지막 단계에서는 변환된 데이터를 스테이징 영역에서 타깃 데이터 웨어하우스로 이동합니다. 일반적으로 모든 데이터를 초기 로딩한 다음 추가적인 데이터 변경 사항을 정기적으로 로딩하는 것이 여기에 포함됩니다. 그리고 드물게 전체를 새로고침하여 웨어하우스의 데이터를 지우고 대체하기도 합니다. ETL을 사용하는 기업 대부분에서는 이 프로세스가 자동화되고 면밀하게 정의되어 있으며, 배치(batch) 방식으로 상시 수행됩니다. 일반적으로 ETL은 업무 외 시간에, 즉 소스 시스템 및 데이터 웨어하우스의 트래픽이 가장 적은 시간에 이루어집니다.
ETL 및 ELT 외에도 다양한 데이터 통합 방식이 더 효과적인 데이터 통합 워크플로우에 쓰입니다. 이들 중 일부에는 다음이 포함됩니다.
ETL 솔루션은 데이터를 다른 저장소에 로딩하기 전에 데이터 정리를 수행함으로써 품질을 향상합니다. ETL은 많은 시간이 필요한 배치 작업이기 때문에 주로 규모가 더 작고 자주 업데이트할 필요 없는 타깃 데이터 저장소를 생성하는 데 적합합니다. 그리고 ELT, CDC, 데이터 가상화와 같은 다른 데이터 통합 방식은 점점 더 규모가 커지고 계속 변화하는 데이터, 또는 실시간 데이터 스트림을 통합하는 데 쓰입니다.
예전에는 각 기업에서 직접 ETL 코드를 작성했습니다. 지금은 다양한 오픈 소스 및 상용 ETL 툴/클라우드 서비스 중에서 선택할 수 있습니다. 이러한 제품은 일반적으로 다음과 같은 특징과 기능이 있습니다.
그 밖에도 ELT 기능을 갖추고 인공 지능(AI) 애플리케이션을 위해 실시간 데이터 및 스트리밍 데이터를 통합하는 것을 지원하는, 진일보한 ETL 툴도 많습니다.
EAI(Enterprise Application Integration)를 접목한 애플리케이션 프로그래밍 인터페이스(API)를 ETL 대신 사용하면서 워크플로우 통합까지 지원하는 더 유연한 확장형 솔루션을 구현할 수 있습니다. ETL이 아직도 대표적인 데이터 통합 리소스이지만, 웹 기반 설정의 API에서 EAI가 점점 더 많이 쓰이는 추세입니다.
IBM Cloud Pak for Data는 클라우드에서 모든 데이터를 AI 및 분석에 사용할 수 있도록 데이터 패브릭을 제공하는 개방형의 확장 가능한 데이터 플랫폼입니다.
AI가 새로운 방식으로 데이터 가치를 해방시킵니다. DataOps 솔루션을 통해 데이터를 구성하고 AI 및 멀티클라우드 세계를 준비하십시오.
데이터 통합을 통해 정형 데이터와 비정형 데이터를 전환하고 확장 가능한 빅데이터 플랫폼의 모든 시스템에 전달할 수 있습니다.