홈
topics
ELT
'추출(Extract), 로드(Load), 변환(Transform)'의 약자인 ELT는 ETL인 "추출(Extract), 변환(Transform), 로드(Load)'와 유사한 또 다른 유형의 데이터 통합 프로세스입니다. 이 프로세스는 원시 데이터를 원본 시스템에서 데이터 웨어하우스와 같은 대상 리소스로 이동합니다.
ETL과 유사하지만 ELT는 근본적으로 다른 데이터 사전 처리 접근 방식으로, 클라우드 환경으로의 전환과 함께 최근에야 도입이 확대되었습니다.
이 모델 선택 프레임워크를 사용하여 성능 요구 사항과 비용, 위험 및 배포 요구 사항의 균형을 맞추면서 가장 적합한 모델을 선택할 수 있습니다.
ELT는 추출, 로드 및 변환의 세 가지 기본 단계로 구성됩니다. 각 단계는 아래에 자세히 설명되어 있습니다.
데이터를 추출하는 동안 데이터는 소스 위치에서 스테이징 영역으로 복사되거나 내보내집니다. 데이터 세트는 많은 데이터 유형으로 구성될 수 있으며 다음을 포함하되 이에 국한되지 않는 거의 모든 정형 또는 비정형 소스에서 가져올 수 있습니다.
즉, 비정형 데이터와 함께 더 일반적으로 사용됩니다.
이 단계에서 변환된 데이터는 스테이징 영역에서 데이터 웨어하우스 또는 데이터 레이크와 같은 데이터 스토리지 영역으로 이동됩니다.
대부분의 조직에서 데이터 로딩 프로세스는 자동화되고 잘 정의되었으며 지속적이고 일괄 처리 중심입니다. 일반적으로 ELT는 소스 시스템 및 데이터 웨어하우스의 트래픽이 최고조에 달하고 소비자가 분석 등을 위해 데이터를 사용하려고 기다리는 업무 시간 동안 발생합니다.
이 단계에서는 분석 전에 SQL을 사용하여 데이터에 스키마를 적용하거나 데이터를 변환하는 쓰기 스키마(schema-on-write) 접근 방식이 사용됩니다. 이 단계에는 다음과 같은 사항이 포함될 수 있습니다.
ELT를 아주 비슷한 약어로 알려진 자매 프로세스와 혼동할 수 있습니다. 그러나 ELT와 추출, 변환, 로드를 의미하는 ETL 사이에는 몇 가지 뚜렷한 차이점이 있습니다. 이는 여러 데이터 소스의 데이터를 데이터 웨어하우스나 다른 타겟 시스템에 로드되는 일관된 단일 데이터 저장소로 결합하는 데이터 통합 프로세스입니다. 기존의 ETL 도구는 비즈니스 인텔리전스(BI) 및 인공 지능(AI) 애플리케이션을 지원하는 데이터 웨어하우징을 생성하도록 설계되었습니다.
분명한 차이점은 ELT 프로세스가 변환 기능보다 로드 기능을 먼저 수행한다는 것인데, 이는 ETL 프로세스의 두 번째, 세 번째 단계와 반대입니다. ELT는 소스 위치에서 데이터를 복사하거나 내보내지만, 변환을 위해 스테이징 영역으로 이동하는 대신, 원시 데이터를 필요에 따라 변환할 수 있는 타겟 데이터 저장소에 직접 로드합니다. ELT는 전송 중인 데이터를 변환하지 않습니다.
그러나 단계의 순서가 유일한 차이점은 아닙니다. ELT에서 타겟 데이터 저장소는 데이터 웨어하우스일 수 있지만, 정형 및 비정형 데이터를 대규모로 보관하도록 설계된 대규모 중앙 저장소인 데이터 레이크인 경우가 더 많습니다.
데이터 레이크는 빅데이터 플랫폼 (예: Apache Hadoop) 또는 분산형 NoSQL 데이터 관리 시스템을 사용하여 관리됩니다. 비즈니스 인텔리전스를 지원할 수도 있지만, 인공 지능, 머신 러닝, 예측 분석, 실시간 데이터 및 이벤트 스트림으로 구동되는 애플리케이션을 지원하기 위해 만들어지는 경우가 더 많습니다.
ETL과 ELT에는 이 밖에도 다른 차이점 있습니다. 예를 들어 ETL은 데이터를 중앙 저장소로 이동하기 전에 변환하므로 ELT보다 데이터 프라이버시 규정 준수를 더 간단하거나 더 체계적으로 만들 수 있습니다 (예: 분석가가 민감한 데이터를 사용하기 전에 변환하지 않으면 데이터 레이크에 마스킹되지 않은 상태로 남아 있을 수 있음). 그러나 데이터 과학자는 원시 데이터의 '샌드박스'에서 플레이하고 특정 애플리케이션에 맞게 조정된 자체 데이터 변환을 수행할 수 있는 ELT를 선호할 수 있습니다. 그러나 대부분의 경우 ETL과 ELT 사이의 선택은 사용 가능한 비즈니스 리소스와 요구 사항 중에서 무엇을 선택하느냐에 달려 있습니다.
ELT는 프로세스를 워크플로에 통합하는 사용자에게 몇 가지 이점을 제공합니다. 몇 가지 주목할 만한 이점을 살펴보겠습니다.
많은 양의 스트리밍 데이터가 생성되었을 때 ELT를 사용하면 해당 데이터를 즉시 로드할 수 있으며 대상에 도달한 후 데이터를 변환합니다. 이렇게 하면 ETL에서와 같이 로드 함수 전에 변환이 발생하는 경우 자주 발생할 수 있는 속도 저하를 방지할 수 있습니다. 이 데이터와 관련하여 결정을 내려야 하는 경우가 많은데, 지연은 용납될 수 없습니다. 이에 대한 예로는 실시간으로 소비되는 많은 양의 데이터를 생성하는 주식 시장이 있습니다. 이와 같은 시나리오에서는 데이터가 대상에 도달한 후에 변환이 발생하기 때문에 ELT가 적합한 솔루션입니다.
데이터가 대상에 도착할 때 변환되기 때문에 ELT를 사용하면 데이터 수신자가 데이터 조작을 제어할 수 있습니다. ELT를 사용하면 변환 단계와 로드 단계를 분리하여 변환 단계의 코딩 오류 또는 기타 오류가 다른 단계에 영향을 미치지 않도록 합니다.
ELT는 데이터 웨어하우스의 성능과 크기를 활용하여 대규모로 변환 또는 확장 가능한 컴퓨팅을 지원합니다. 대상 데이터 웨어하우스는 필요에 따라 노드를 늘리거나 줄일 수 있으며, 특히 각 클러스터 내에 여러 노드가 있고 활용할 수 있는 여러 클러스터가 있는 클라우드 시나리오에서 그렇습니다. 이를 통해 필요에 따라 유연성과 확장성을 확보할 수 있습니다.
ELT는 데이터 변환을 위해 덜 강력한 서버가 필요하며 웨어하우스에 이미 있는 리소스를 활용합니다. 그 결과 비용을 절감하고 리소스 효율성을 높일 수 있습니다.
ELT를 사용하면 비용 및 리소스 유연성을 위해 원하는 대상 저장소를 사용할 수 있습니다. 데이터 웨어하우스는 데이터 볼륨의 열 형태 메모리 기반 스토리지를 비롯한 MPP 아키텍처(Massively Parallel Processing)를 사용합니다. 데이터가 수신되는 즉시 스키마 또는 변환 모델을 적용하는 데이터 레이크 프로세스('읽기 스키마schema-on-read'라고도 함)도 지원됩니다. 이러한 효율적인 프로세스는 대량의 데이터에 유연성을 제공합니다.
연속 작업은 데이터에 대한 빠른 액세스가 필요한 모든 환경에 이상적입니다. ELT는 온디맨드로 지속적으로 액세스되는 애플리케이션을 비롯한 클라우드 환경 내에서 활용되는 데이터에 매우 적합합니다. 마찬가지로 클라우드 네이티브 ELT 변환은 앞서 언급한 확장성과 유연성을 제공합니다.
조직은 ETL에서 ELT 아키텍처로 전환하기로 선택할 수 있습니다. 전환하는 이유는 실시간 대응 및 상호 작용이 필요하도록 제품이나 서비스 사용이 변경되거나, 데이터 양이 기하급수적으로 증가하여 인프라에 대한 대량 처리 요구로 인해 로드 단계가 지연되고 있기 때문일 수 있습니다. 또한 조직이 클라우드로 이전하고 처리 부담을 덜거나 대상 위치에서 더 빨리 데이터를 사용하려는 경우 ETL에서 ELT로 전환하기로 선택할 수 있습니다.
전환 시나리오에서는 현실적으로 어려움을 겪을 수 있습니다. 무엇보다도 ELT와 ETL에는 완전히 다른 로직과 코드가 사용됩니다. 이를 위해서는 완전한 재구성이 필요할 수 있으며, 새로운 인프라 또는 클라우드에 인프라를 갖춘 새로운 공급 업체가 필요할 수도 있습니다. 또한 ELT를 사용하면 원시 데이터가 대상 웨어하우스로 전송됩니다. 따라서 보안을 고려해야 하며 데이터를 안전하게 유지하기 위해 보안을 구현해야 합니다.
ELT는 새로운 기술이 아닙니다. 스테이징 테이블은 이전에 처리 및 변환을 위해 데이터를 웨어하우스로 이동하는 데 사용되었으며, 종종 SQL 스크립트를 사용했습니다. SQL 스크립트는 하드 코딩되므로 코딩 오류가 발생할 수 있습니다. SQL을 사용하는 경우 고객은 SQL 스크립트를 사용하는 네이티브 웨어하우스 실행과 선언적 프로그래밍(선언적 작성이라고도 함) 중에서 선택해야 했습니다. 선언적 작성은 프로그램이 어떻게 작업을 완수할지가 아니라 무엇을 실현해야 하는지를 설명하는 코드 생성을 통해 더욱 현대적인 클라우드 기반 데이터 웨어하우스 환경의 이점을 제공합니다. 이 프로세스는 다른 프로세스에 내재된 코딩 오류를 방지하며, 특히 로드 함수 이전에 변환이 발생하는 경우 그렇습니다.
ELT는 일반적으로 대용량 또는 실시간 데이터 사용 환경에서 사용됩니다. 구체적인 예는 다음과 같습니다.
IBM Cloud Pak for Data는 모든 클라우드에서 AI 및 분석에 모든 데이터를 사용할 수 있도록 데이터 패브릭을 제공하는 확장 가능한 개방형 데이터 플랫폼입니다.
AI는 새로운 방식으로 데이터의 가치를 실현하고 있습니다. DataOps 솔루션으로 AI 및 멀티클라우드 환경에 대비할 수 있도록 데이터를 구성하세요.
데이터 통합을 통해 정형 및 비정형 데이터를 변환하여 확장 가능한 빅 데이터 플랫폼의 모든 시스템에 제공할 수 있습니다.