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

추출(Extract), 변환(ETL), 로딩(Load)을 의미하는 ETL은 여러 데이터 소스의 데이터를 일관성 있는 단일 데이터 저장소로 통합한 다음 데이터 웨어하우스나  기타 타깃 시스템에 로딩하는 데이터 통합 프로세스입니다.

데이터베이스가 1970년대에 널리 보급됨에 따라 컴퓨팅 및 분석의 목적으로 데이터를 통합하고 로딩하는 프로세스로 ETL이 도입되었고, 결국 데이터 웨어하우징 프로젝트를 위한 기본적인 데이터 처리 방법으로 자리잡았습니다.

ETL은 데이터 분석 및 머신러닝 워크스트림의 기반을 마련합니다. ETL은 일련의 비즈니스 규칙을 적용하여 데이터를 정리하고 체계화함으로써 월간 보고와 같은 구체적인 비즈니스 인텔리전스 요구 사항을 해결할 수 있게 합니다. 그뿐만 아니라 더 차원 높은 분석도 지원함으로써 백엔드 프로세스 또는  최종 사용자  경험 개선에도 기여합니다. 각 기업에서는 대개 다음과 같은 목적으로 ETL을 활용합니다. 

  • 레거시 시스템의 데이터 추출  
  • 데이터 품질 향상 및 일관성 확보를 위한 데이터 정리
  • 타깃 데이터베이스에 데이터 로딩 
자세히 보기

ETL 작업을 빌드하고 실행하는 방법 보기

2021년 데이터 통합 툴 Gartner Magic Quadrant 보고서 읽기

IBM DataStage 개요(169KB) 읽기

ETL vs ELT

ETL과 ELT의 가장 뚜렷한 차이점은 작업 순서에 있습니다. ELT는 소스 위치에서 데이터를 복사하거나 내보냅니다. 그리고 변환을 위해 데이터를 스테이징 영역에 로딩하지 않고, 그 원시 데이터를 타깃 데이터 저장소에 곧바로 로딩하여 필요에 따라 변환할 수 있게 합니다.

두 프로세스 모두 데이터베이스, 데이터 웨어하우스, 데이터 레이크 등과 같은 다양한 데이터 저장소를 활용하지만, 각각 장단점이 있습니다. ELT는 특히 대규모의 비정형 데이터 세트를 처리할 때 유용합니다. 소스에서 곧바로 로딩을 수행할 수 있기 때문입니다. ELT는 초기에 데이터 추출 및 저장을 면밀하게 준비하지 않아도 되므로 빅데이터 관리에 더 효과적일 수 있습니다. 이와 달리 ETL 프로세스는 초기에 더 명확한 정의가 이루어져야 합니다. 추출 작업을 위해 데이터 포인트를 구체적으로 식별하는 것은 물론 상이한 소스 시스템 간 통합을 위한 잠재적 "키"도 식별해야 합니다. 이 작업을 마친 다음 데이터 변환을 위한 비즈니스 규칙도 구성해야 합니다. 일반적으로 이 작업은 해당 데이터 분석 유형의 데이터 요구 사항에 따라 달라질 수 있습니다. 이는 해당 데이터에 필요한 요약 수준을 결정합니다. 클라우드 데이터베이스가 보급되면서 ELT가 더욱 많이 쓰이고 있지만, 최신 프로세스인 만큼 불리한 점도 있습니다. 즉, 모범 사례가 아직 개발되는 중입니다.

ETL의 작동 방식

ETL 작동 방식을 가장 쉽게 이해하기 위해서는 이 프로세스의 각 단계에서 무슨 일이 일어나는지를 알면 됩니다.

추출

데이터 추출 과정에서는 소스 위치의 원시 데이터를 스테이징 영역으로 복사하거나 내보냅니다. 데이터 관리 팀은 각종 정형 또는 비정형 데이터 소스에서 데이터를 추출할 수 있습니다. 다음을 비롯한 다양한 소스가 여기에 해당합니다.

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

혁신

스테이징 영역에서는 원시 데이터에 대한 데이터 처리 작업이 이루어집니다. 여기서는 계획대로 분석 활용 사례에 맞게 데이터를 변환하고 통합합니다. 이 단계에서 다음 작업이 이루어질 수 있습니다.

  • 데이터 필터링, 정리, 중복 제거, 유효성 검사, 인증
  • 원시 데이터를 기반으로 하는 계산, 변환, 요약 이 과정에서 일관성을 위해 행 및 열 머리글이 바뀌고, 통화 및 기타 측정 단위가 변환되고, 텍스트 문자열이 편집되는 등의 변화가 일어날 수 있습니다.
  • 데이터 품질 및 컴플라이언스를 보장하기 위한 감사 수행
  • 산업 기관 또는 정부 기관의 규제 대상인 데이터 삭제, 암호화, 보호
  • 타깃 데이터 웨어하우스의 스키마에 부합하는 테이블 또는 조인 테이블로 데이터 형식 지정

로딩

이 마지막 단계에서는 변환된 데이터를 스테이징 영역에서 타깃 데이터 웨어하우스로 이동합니다. 일반적으로 모든 데이터를 초기 로딩한 다음 추가적인 데이터 변경 사항을 정기적으로 로딩하는 것이 여기에 포함됩니다. 그리고 드물게 전체를 새로고침하여 웨어하우스의 데이터를 지우고 대체하기도 합니다. ETL을 사용하는 기업 대부분에서는 이 프로세스가 자동화되고 면밀하게 정의되어 있으며, 배치(batch) 방식으로 상시 수행됩니다. 일반적으로 ETL은 업무 외 시간에, 즉 소스 시스템 및 데이터 웨어하우스의 트래픽이 가장 적은 시간에 이루어집니다.

ETL과 기타 데이터 통합 방식

ETL 및 ELT 외에도 다양한 데이터 통합 방식이 더 효과적인 데이터 통합 워크플로우에 쓰입니다. 이들 중 일부에는 다음이 포함됩니다.

  • CDC(Change Data Capture) 소스 데이터에서 변경된 것만 식별하고 캡처하여 타깃 시스템에 이동합니다. CDC는 ETL의 "추출" 단계에 필요한 리소스를 줄이는 데 사용할 수 있습니다. 그뿐만 아니라 변환된 데이터를 데이터 레이크나 기타 저장소에 실시간으로 이동할 목적으로 독자적으로 쓰일 수도 있습니다.
  • 데이터 복제 데이터 소스의 변경 사항을 실시간으로 또는 배치 형태로 중앙 데이터베이스에 복사합니다. 데이터 복제 는 데이터 통합 방식 중 하나로 자주 언급됩니다. 사실은 재해 복구를 위한 백업을 생성하는 데 쓰일 때가 가장 많습니다.
  • 데이터 가상화에서는 소프트웨어 추상화 계층을 통해 사용 편의성이 극대화된 단일 통합 데이터 를  구현합니다. 이를 위해 물리적으로 소스 데이터를 복사하거나 변환하거나 타깃 시스템에 로딩하지 않습니다. 데이터 가상화  기능을 활용하면, 데이터 저장의 목적으로 같은 소스 데이터에서 가상 데이터 웨어하우스, 데이터 레이크, 데이터 마트를 생성하는 것이 가능합니다. 그러면 각각 따로 플랫폼을 빌드하고 관리하느라 막대한 비용과 복잡성을 감수할 필요 없습니다. 데이터 가상화는 ETL와 함께 사용할 수도 있지만, 점점 더 ETL 및 기타 물리적 데이터 통합 방식의 대안으로 간주되고 있습니다.
  • SDI(Stream Data Integration)는 그 이름이 뜻하는 바와 같이 데이터 스트림을 상시 실시간으로 소비하고 변환하면서 분석을 위해 타깃 시스템에 로딩합니다. 여기서 중요한 것은 상시(continuously) 수행한다는 점입니다. SDI는 지정된 시점에 소스에서 추출된 데이터의 스냅샷을 통합하는 게 아니라 데이터가 사용 가능해지는 대로 계속 통합합니다. SDI에서는 분석, 머신러닝, 실시간 애플리케이션에 적합한 데이터 저장소를 구현함으로써 더 만족스러운 고객 경험, 효과적인 사기 탐지 등의 이점을 제공합니다. 
ETL의 이점 및 과제

ETL 솔루션은 데이터를 다른 저장소에 로딩하기 전에 데이터 정리를 수행함으로써 품질을 향상합니다. ETL은 많은 시간이 필요한 배치 작업이기 때문에 주로 규모가 더 작고 자주 업데이트할 필요 없는 타깃 데이터 저장소를 생성하는 데 적합합니다. 그리고 ELT, CDC, 데이터 가상화와 같은 다른 데이터 통합 방식은 점점 더 규모가 커지고 계속 변화하는 데이터, 또는 실시간 데이터 스트림을 통합하는 데 쓰입니다.

 

데이터 통합 자세히 보기
ETL 툴

예전에는 각 기업에서 직접 ETL 코드를 작성했습니다. 지금은 다양한 오픈 소스 및 상용 ETL 툴/클라우드 서비스 중에서 선택할 수 있습니다. 이러한 제품은 일반적으로 다음과 같은 특징과 기능이 있습니다.

  • 통합 자동화 및 사용 편의성: 주요 ETL 툴은 데이터 소스부터 타깃 데이터 웨어하우스까지의 데이터 흐름 전체를 자동화합니다. 많은 툴에서 데이터 추출, 변환, 로딩을 위한 규칙을 추천합니다.
  • 드래그 앤 드롭 방식의 비주얼 인터페이스: 이 기능은 규칙 및 데이터 흐름을 지정하는 데 사용할 수 있습니다.
  • 복잡한 데이터 관리 지원: 여기에는 복잡한 계산, 데이터 통합, 문자열 조작을 지원하는 것이 포함됩니다.
  • 보안 및 컴플라이언스: 최상의 ETL 툴이라면 전송 중인 데이터와 저장 상태의 데이터 모두 암호화합니다. 그리고 HIPAA, GDPR 등과 같은 업계 표준이나 정부 규정을 준수함을 인증받았습니다.

그 밖에도 ELT 기능을 갖추고 인공 지능(AI) 애플리케이션을 위해 실시간 데이터 및 스트리밍 데이터를 통합하는 것을 지원하는, 진일보한 ETL 툴도 많습니다.

미래의 통합 - EAI를 사용하는  API 

EAI(Enterprise Application Integration)를 접목한 애플리케이션 프로그래밍 인터페이스(API)를 ETL 대신 사용하면서 워크플로우 통합까지 지원하는 더 유연한 확장형 솔루션을 구현할 수 있습니다. ETL이 아직도 대표적인 데이터 통합 리소스이지만, 웹 기반 설정의 API에서 EAI가 점점 더 많이 쓰이는 추세입니다.

관련 솔루션
IBM Cloud Pak for Data

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

IBM Cloud Pak for Data 살펴보기
IBM DataOps

AI가 새로운 방식으로 데이터 가치를 해방시킵니다. DataOps 솔루션을 통해 데이터를 구성하고 AI 및 멀티클라우드 세계를 준비하십시오.

IBM DataOps 살펴보기
데이터 통합

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

데이터 통합 살펴보기
리소스 ETL 또는 ELT 툴로서의 Hive
추출, 변환, 로딩(ETL) vs. 추출, 로딩, 변환(ELT)
ELT vs. ETL: 그 차이점은?
ELT와 ETL이 정의, 이점, 활용 사례에서 어떤 유사점과 차이점이 있는지 알아보십시오.
데이터 간소화: Al Martin과 Michel Tricot이 말하는 ELT와 ETL의 기술적 특성과 차이점, 에어바이트(Airbyte)와 기업가 정신
IBM의 Expert Services Delivery 부문 VP인 AI Martin이 진행하는 '데이터 간소화' 팟캐스트에서는 빅데이터, A.I. 그리고 이러한 기술이 기업에 미치는 영향에 관한 여러 전문가의 최신 견해를 살펴봅니다.
다음 단계

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

IBM® Cloud Pak for Data 자세히 보기