topics ELT ELT(추출, 로드, 변환)
ELT는 여러 소스의 데이터를 추출하고 데이터 웨어하우스나 기타 통합 데이터 저장소에 로드하고 변환하는 프로세스입니다.
검은색과 파란색 배경
ELT란?

“추출(Extract), 로드(Load), 변환(Transform)”을 뜻하는 ELT는 데이터 통합 프로세스 유형 중 하나이며, “추출(Extract), 변환(Transform), 로드(Load)”, 즉 ETL과 비슷합니다. 이 프로세스는 소스 시스템의 원시 데이터를 데이터 웨어하우스와 같은 타깃 리소스로 이동합니다. ELT는 ETL과 비슷한 점도 있지만 근본적으로 다른 데이터 사전 처리 방식이며, 클라우드 환경으로의 전환이 본격화되면서 비교적 최근에 보급되기 시작했습니다.

ELT의 작동 방식

ELT는 추출(Extract), 로드(Load), 변환(Transform)의 3가지 기본 단계로 구성됩니다. 각각의 단계를 아래에서 자세히 살펴보겠습니다.

추출(Extract)

데이터 추출 과정에서는 소스 위치의 데이터를 스테이징 영역으로 복사하거나 내보냅니다. 이 데이터 세트는 여러 데이터 유형으로 구성될 수 있으며, 다음을 비롯하여 어떤 정형 또는 비정형 소스도 가능합니다.

  • SQL 또는 NoSQL 서버
  • CRM 및 ERP 시스템
  • 텍스트 및 문서 파일
  • 이메일
  • 웹 페이지

즉, 비정형 데이터를 포함하는 경우가 더 많은 편입니다.

로드(Load)

이 단계에서는 변환된 데이터를 스테이징 영역에서 데이터 스토리지 영역(예: 데이터 웨어하우스, 데이터 레이크)으로 가져옵니다.

대부분의 조직에서는 자동화되고 명확하게 정의된, 연속적인 배치 기반 프로세스로 이루어집니다. 일반적으로 ELT는 업무 시간에, 즉 소스 시스템 및 데이터 웨어하우스의 트래픽이 최고 수준이고 소비자가 분석이나 그밖의 목적으로 데이터를 사용하기 위해 기다리는 시간에 이루어집니다.

변환(Transform)

이 단계에서는 Schema-on-Write 방식이 적용되는데, 분석에 앞서 SQL을 사용하여 데이터에 대한 스키마를 적용합니다. 즉, 데이터를 변환합니다. 이 단계에서 다음 작업이 이루어질 수 있습니다.

  • 데이터 필터링, 정리, 중복 제거, 유효성 검사, 인증
  • 원시 데이터를 기반으로 하는 계산, 변환, 데이터 분석 또는 요약. 여기에는 일관성을 위해 행 및 열 제목을 바꾸고, 통화 또는 측정 단위를 변환하고, 문자열을 편집하고, 값을 추가하거나 평균을 구하는 등 해당 조직의 구체적인 BI 또는 분석 목적에 부합하는 어떤 작업도 포함될 수 있습니다.
  • 정부 또는 산업 규정이 적용되는 데이터 제거, 암호화, 숨기기, 그 밖의 방식으로 보호
  • 웨어하우스에 배치된 스키마에 따라 데이터를 테이블 또는 조인된 테이블 형식으로 변환
ETL과 ELT 비교

ELT를 거의 비슷한 약어로 이루어진 자매 프로세스, ETL과 혼동하기 쉽습니다. 그러나 ELT와 ETL은 몇 가지 점에서 전혀 다릅니다. ETL은 여러 데이터 소스의 데이터를 일관성 있는 단일 데이터 저장소로 통합한 다음 데이터 웨어하우스 또는 그 밖의 타깃 시스템에 로드하는 데이터 통합 프로세스입니다. 기존 ETL 툴은 비즈니스 인텔리전스(BI) 및 인공지능(AI) 애플리케이션을 지원하는 데이터 웨어하우징을 구축할 목적으로 설계되었습니다.

ETL과 ELT - 차이점

ELT 프로세스는 변환 기능 이전에 로드 기능을 수행한다는 점에서 분명히 다릅니다. ETL 프로세스의 2단계와 3단계가 바뀌는 것입니다. ELT는 소스 위치의 데이터를 복사하거나 내보냅니다. 그리고 변환을 위해 데이터를 스테이징 영역으로 보내는 게 아니라 그 원시 데이터를 타깃 데이터 저장소에 곧바로 로드하여 필요에 따라 변환할 수 있게 합니다. ELT는 전송 과정에서 어떤 데이터도 변환하지 않습니다.

물론 단계의 순서가 유일한 차이점은 아닙니다. ELT의 타깃 데이터 저장소는 데이터 웨어하우스일 수 있으나, 대개는 데이터 레이크입니다. 이는 정형 데이터 및 비정형 데이터를 대규모로 보관할 수 있도록 설계된 대형 중앙 저장소입니다.

데이터 레이크는 Apache Hadoop과 같은 빅데이터 플랫폼, 또는 분산형 NoSQL 데이터 관리 시스템에 의해 관리됩니다. 인텔리전스를 지원할 수 있으나, 대개는 인공지능, 머신 러닝, 예측 분석, 그리고 실시간 데이터/이벤트 스트림 기반 애플리케이션을 지원할 목적으로 만들어집니다.

ETL과 ELT의 또 다른 차이점도 있습니다. 예컨대 ETL은 중앙 저장소로 데이터를 옮기기 전에 변환하므로, 개인정보 보호법 준수가 ELT보다 더 간단하게, 더 체계적으로 이루어질 수 있습니다. 이를테면 분석가가 중요 데이터를 사용하기 전에 변환하지 않을 경우, 데이터는 마스킹되지 않은 상태에서 데이터 레이크에 저장될 가능성이 있습니다. 그러나 데이터 사이언티스트는 ELT를 선호할 수도 있습니다. 원시 데이터 "샌드박스"에서 작업하면서 구체적인 애플리케이션에 따라 직접 데이터 변환을 할 수 있기 때문입니다. 그러나 가용 비즈니스 리소스 및 니즈에 따라 ETL과 ELT 중에서 선택하는 경우가 대부분입니다.

ELT의 이점

ELT는 프로세스를 워크플로우에 통합하는 사용자에게 여러모로 유리합니다. 특히 주목할 만한 몇 가지 이점을 살펴보겠습니다.

더 신속하게 가용성을 확보하기 위해 더 빨리 타깃으로 데이터 이동

방대한 양의 스트리밍 데이터가 생성될 때는 ELT를 통해 그 데이터를 즉시 로드할 수 있습니다. 그리고 타깃에 도달한 데이터를 대상으로 변환을 수행합니다. 그러면 ETL과 같이 로드 기능에 앞서 변환이 수행되는 경우에 자주 발생하는 속도 저하의 문제가 예방됩니다. 이러한 데이터와 관련하여 결정을 내려야 하는 경우가 많은데, 지연이 허용되지 않기 때문입니다. 방대한 양의 데이터가 생성되고 이 데이터가 실시간으로 소비되는 주식 시장이 대표적인 예입니다. 이러한 시나리오에서는 ELT이 해결책이 될 수 있습니다. 데이터가 타깃에 도달한 후에 변환이 수행되기 때문입니다.

단계 분리

ELT에서는 데이터가 타깃에 도달한 후에 변환되므로, 데이터 수신자가 데이터 조작을 통제할 수 있습니다. ELT에서는 변환 단계와 로드 단계를 분리함으로써 변환 단계에서 일어나는 코딩 및 기타 오류가 다른 단계에 영향을 주지 않습니다.

서버 확장 문제 예방

ELT에서는 데이터 웨어하우스의 성능과 규모를 십분 활용하면서 거대 규모의 변환, 즉 확장형 컴퓨팅을 수행할 수 있습니다. 타깃 데이터 웨어하우스는 필요에 따라 노드를 늘리거나 줄일 수 있습니다. 클러스터 내에 여러 개의 노드가 있고 여러 개의 클러스터를 활용할 수 있는 클라우드 시나리오에서는 더욱 효과적입니다. 즉, 필요에 따라 유연성과 확장성을 발휘할 수 있습니다.

비용 절감

ELT는 더 적은 성능의 서버로 데이터 변환을 수행할 수 있으며, 웨어하우스의 기존 리소스를 활용할 수도 있습니다. 그러면 비용이 절약되고 리소스 효율이 상승합니다.

유연성

ELT에서는 원하는 타깃 저장소를 선택하여 사용하면서 비용 및 리소스에 관해 유연성을 발휘할 수 있습니다. 데이터 웨어하우스에서는 MPP(Massively Parallel Processing) 아키텍처를 사용합니다. 여기에는 열 기반 메모리(columnar memory)를 사용하여 데이터 볼륨을 저장하는 것이 포함됩니다. 데이터를 수신하는 즉시 스키마, 즉 변환 모델을 적용하는 (“schema-on-read”라고도 하는) 데이터 레이크 프로세스도 지원됩니다. 이러한 효율적인 프로세스를 통해 방대한 데이터도 유연하게 처리할 수 있습니다.

지속적 운영

빠른 데이터 액세스가 필요한 환경에서는 지속적 운영 방식이 진가를 발휘합니다. ELT는 클라우드 환경 내에서 활용되는 데이터에 적합합니다. 이러한 환경에는 상시 온디맨드 방식으로 액세스되는 애플리케이션이 포함되곤 합니다. 물론 클라우드 네이티브 ELT 변환에서는 앞서 언급한 확장성과 유연성을 누릴 수 있습니다.

ETL 아키텍처에서 ELT 아키텍처로 전환할 경우 해결해야 하는 과제

ETL 아키텍처에서 ELT 아키텍처로 바꾸려는 곳도 있습니다. 제품 또는 서비스 이용의 변화로 실시간 응답 및 상호 작용이 필요해졌거나, 데이터가 기하급수적으로 증가했고 인프라에서 대규모 처리 작업이 수행되어 변환 단계가 로드 단계 지연을 야기하는 경우에 이러한 전환이 필요할 수 있습니다. 클라우드로 이전하는 까닭에 데이터 처리 또는 사용 작업의 부담을 더 빨리 타깃 위치에 넘기고 싶은 경우에도 ETL에서 ELT로의 전환을 선택할 수 있습니다.

전환 시나리오에서, 직면할 여러 가지 문제점을 예상해보는 것이 현실적입니다. 무엇보다도 ELT에서는 ETL과 완전히 다른 로직과 코드를 사용합니다. 따라서 완전한 재구성이 필요할 수 있습니다. 그리고 새로운 인프라, 또는 클라우드 기반 인프라를 서비스하는 새로운 제공업체가 필요할 수 있습니다. 그리고 ELT에서는 원시 데이터를 타깃 웨어하우스에 보냅니다. 따라서 데이터를 안전하게 지키기 위한 보안 기능을 고려하고 구현해야 합니다.

ELT의 과거와 미래

ELT는 새로운 기술이 아닙니다. 예전에는 처리 및 변환을 위해 웨어하우스로 데이터를 이동할 때 스테이징 테이블을 사용했습니다. 그리고 이를 위해 SQL 스크립트가 쓰이곤 했습니다. SQL 스크립트는 하드 코딩 방식이므로 코딩 오류에 취약합니다. 고객은 SQL을 사용할 경우 SQL 스크립트 기반 네이티브 웨어하우스 실행 방식과 선언적 프로그래밍(선언적 오서링이라고도 함) 중에서 선택해야 했습니다. 선언적 오서링에서는 더 현대적인 클라우드 기반 데이터 웨어하우스 환경의 이점을 누릴 수 있습니다. 작성되는 코드에서는 프로그램의 수행 방식이 아니라 수행 목표를 기술하기 때문입니다. 이러한 프로세스에서는 다른 프로세스의 근본적인 문제점인 코딩 오류가 방지됩니다. 로드 기능 이전에 변환이 수행되기 때문에 더욱 그렇습니다.

유스케이스

일반적으로 ELT는 거대 볼륨, 또는 실시간 데이터 사용 환경에 쓰입니다. 구체적인 예는 다음과 같습니다.

  • 즉각적인 액세스가 필요한 조직 . 이를테면 주식 거래소, 또는 각종 상품, 산업용 부품, 기타 자재를 대규모로 취급하는 도매 업체에서 즉시 비즈니스 인텔리전스를 활용하기 위해 최신 데이터에 대한 실시간 액세스가 필요할 수 있습니다.
  • 거대 데이터 볼륨을 보유한 조직 . 날씨 서비스를 제공하기 위해 정기적으로 방대한 데이터를 수집, 분석, 사용하는 기상 예측 시스템을 예로 들 수 있습니다. 대규모 트랜잭션 볼륨을 처리해야 하는 기업도 이 범주에 포함할 수 있습니다. 초대형 망원경을 보유한 천문연구소와 같은 조직에서는 방대한 데이터를 수집하고 분석해야 합니다. 이 두 범주에 모두 해당하는 곳도 있습니다. 방대한 양의 데이터를 생성하고 사용하면서 그 데이터에 대한 실시간 액세스가 필요한 업종이 많기 때문입니다.
관련 솔루션
IBM Cloud Pak for Data

IBM Cloud Pak for Data는 클라우드에서 모든 데이터를 AI 및 분석에 사용할 수 있도록 데이터 패브릭을 제공하는 개방형의 확장 가능한 데이터 플랫폼입니다.

IBM Cloud Pak for Data 살펴보기
IBM DataOps

AI가 새로운 방식으로 데이터 가치를 발굴합니다. DataOps 솔루션을 통해 데이터를 구성하고 AI 및 멀티클라우드 세상을 준비하세요.

IBM DataOps 살펴보기
데이터 통합

데이터 통합을 통해 정형 데이터와 비정형 데이터를 전환하고 확장 가능한 빅데이터 플랫폼의 모든 시스템에 전달할 수 있습니다.

데이터 통합 살펴보기
다음 단계

IBM은 비즈니스에 최적화된 데이터 파이프라인을 지원하고 기업에서 이러한 데이터 파이프라인을 효율적으로 확장하는 데 필요한 툴을 갖춘 데이터 통합 서비스 및 솔루션을 다양하게 제공합니다. 데이터 통합 분야의 선두 주자인 IBM은 각 기업에서 자신 있게 빅데이터 프로젝트, 애플리케이션, 머신 러닝 기술을 관리하도록 지원합니다. 각 기업은 IBM Cloud Pak® for Data와 같은 업계 최고 수준의 플랫폼을 통해 DataOps 프로세스를 현대화할 뿐만 아니라 동급 최상의 가상화 툴을 활용하면서 현재와 미래의 비즈니스에 필요한 속도와 확장성을 얻을 수 있습니다.

IBM® Cloud Pak for Data 자세히 보기