ETL(추출, 변환, 로드)

menu icon

ETL(추출, 변환, 로드)

ETL은 다양한 소스의 데이터를 데이터 웨어하우스 또는 기타 통합 데이터 저장소로 추출/변환/로드하는 프로세스입니다.

ETL이란?

ETL( 추출, 변환, 로드 )은 다양한 데이터 소스의 데이터를 일관된 단일 데이터 저장소로 결합해  데이터 웨어하우스  또는 기타 대상 시스템으로 로드하는 데이터 통합 프로세스입니다.

1970년대에 데이터베이스의 인기가 증가함에 따라 계산 및 분석 용도로 데이터를 통합하고 로드하는 프로세스인 ETL이 도입되었고, 나아가 데이터 웨어하우징 프로젝트의 데이터를 처리하는 기본 방식으로 자리매김하였습니다.

ETL은 데이터 분석 및 머신 러닝 워크스트림의 기반을 제공합니다. ETL은 일련의 비즈니스 규칙을 통해 월별 보고 등의 특정 비즈니스 인텔리전스 요구사항을 해결하는 방식으로 데이터를 정리하고 구성하는 반면, 보다 고급 분석 또한 처리하도록 지원함으로써 백엔드 프로세스 또는  일반 사용자  경험을 개선할 수 있습니다. 조직의 주된 ETL 사용 사례는 다음과 같습니다. 

  • 레거시 시스템에서 데이터 를 추출합니다.
  • 품질을 개선하고 일관성을 구축하기 위해 데이터를 정리합니다.
  •  대상 데이터베이스
  • 로 데이터를 로드합니다.

ETL과 ELT

ETL과 ELT의 가장 명백한 차이는 바로 각기 다른 작동 순서에서 비롯합니다. ELT는 해당 소스 위치에서 데이터를 복사하거나 내보내지만, 이를 스테이징 공간으로 로드해 변환하는 대신 원시 데이터를 대상 데이터 저장소로 직접 로드해 필요에 맞게 변환합니다.

두 프로세스 모두 데이터베이스, 데이터 웨어하우스, 데이터 레이크를 비롯한 다양한 데이터 저장소를 활용하는 반면, 각 프로세스는 고유한 장단점을 보유합니다. ELT는 소스에서 직접 로딩할 수 있으므로, 고용량 비정형 데이터 세트에 특히 유용합니다. ELT는 데이터를 추출하고 저장하는 데 선행 계획을 크게 필요로 하지 않으므로 빅데이터 관리에 보다 최적일 수 있습니다. 반면 ETL 프로세스는 초반에 보다 많은 정의 작업이 필요합니다. 각기 다른 소스 시스템 전반에 통합할 모든 잠재적인 "키"와 더불어, 추출할 특정 데이터 점을 식별해야 합니다. 해당 작업이 완료된 후에는 데이터 변환을 위한 비즈니스 규칙을 구성해야 합니다. 일반적으로 본 작업은 주어진 유형의 데이터 분석에 대한 데이터 요구사항에 종속될 수 있으며, 이는 데이터에 필요한 요약 수준을 결정합니다. ELT는 클라우드 데이터베이스의 채택과 함께 점점 더 대중화되고 있긴 하지만, 아직은 우수 사례를 확립해 나가는 단계로써 신규 프로세스 고유의 단점을 보유합니다.

ETL의 작동 방식

ETL의 작동 방식을 가장 쉽게 이해할 수 있는 방법은 바로 프로세스 각 단계에서 발생하는 과정을 파악하는 것입니다.

추출

데이터 추출을 진행하는 중, 원시 데이터를 소스 위치에서 스테이징 공간으로 복사하거나 내보냅니다. 데이터 관리 팀은 다양한 정형 또는 비정형 데이터 소스에서 데이터를 추출할 수 있습니다. 해당 소스는 다음을 포함하나 이에 국한하지 않습니다.

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

변환

원시 데이터는 스테이징 공간에서 데이터 처리 과정을 거칩니다. 이 때, 의도한 분석적 사용 사례에 맞게 데이터를 변환하고 통합합니다. 본 단계는 다음과 같은 작업을 수반할 수 있습니다.

  • 데이터를 필터링하고 정리하며 해당 중복을 제거하고 유효성을 검증하고 인증합니다.
  • 원시 데이터에 기반해 계산, 변환, 요약을 수행합니다. 이는  행 및 열 머리글을 일관적으로 변경하고 통화 또는 기타 측정 단위를 변환하며 텍스트 문자열을 편집하는 작업 등을 포함할 수 있습니다.
  • 감사를 수행해 데이터 품질 및 규정 준수를 보장합니다.
  • 업계 또는 정부 규제 기관에서 관리하는 데이터를 보호하고 암호화하며 제거합니다.
  • 대상 데이터 웨어하우스의 스키마와 일치하도록 테이블 또는 조인 테이블로 데이터 형식을 지정합니다.

로드

본 마지막 단계에서는, 변환한 데이터를 스테이징 공간에서 대상 데이터 웨어하우스로 이전합니다. 일반적으로 해당 과정은 모든 데이터의 초기 로딩에 이어 증분 데이터 변경사항을 주기적인 로딩하는 과정을 수반하며, 보다 낮은 빈도로 전체 새로 고침을 수행해 웨어하우스의 데이터를 지우고 교체합니다. ETL을 활용하는 대부분 조직의 경우 잘 정의된 연속적인 일괄처리 방식의 프로세스 자동화를 실현하고 있습니다. 일반적으로 ETL은 소스 시스템 및 데이터 웨어하우스의 트래픽이 가장 낮은 시간대인 업무 외 시간에 수행합니다.

ETL 및 기타 데이터 통합 방법

ETL과 ELT는 그저 여러 데이터 통합 방법 중 일부 두 가지에 해당할 뿐이며, 데이터 통합 워크플로우를 촉진하는 데 활용할 수 있는 다양한 접근 방식들이 존재합니다 그 중 일부는 다음을 포함합니다.

  • 변경 데이터 캡처(CDC) : 변경된 소스 데이터만 식별하고 캡처해, 해당 데이터를 대상 시스템으로 이전합니다. CDC는 ETL의 "추출" 단계에서 필요한 리소스를 줄이는 데 활용할 수 있으며, 데이터 레이크 또는 기타 저장소로 실시간 변환한 데이터를 이전하는 데 독립적으로 활용할 수도 있습니다.
  • 데이터 복제 : 데이터 소스의 변경사항을 실시간 또는 일괄적으로 중앙 데이터베이스에 복사합니다.  데이터 복제 는 데이터 통합 방법으로 자주 거론됩니다. 실제로,  재해 복구용 백업을 생성하는 데 가장 흔히 사용하는 방법입니다.
  • 데이터 가상화 : 소스 데이터를 대상 시스템에 물리적으로 복사, 변환 또는 로드하지 않고도 소프트웨어 추상화 계층을 활용하여 완전 사용 가능한 통합형 데이터  보기 를 생성합니다. 조직은  데이터 가상화  기능을 통해 동일한 소스 데이터에서 가상 데이터 웨어하우스, 데이터 레이크 및 데이터 마트를 생성해, 각각 별도의 플랫폼을 구축하고 관리하는 데 따른 복잡성 및 비용 없이 데이터를 저장할 수 있습니다. 데이터 가상화는 ETL과 함께 활용할 수 있는 한편, 점점 더 ETL 및 기타 물리적 데이터 통합 방법에 대한 대안으로도 주목받고 있습니다.
  • 스트림 데이터 통합(SDI) : 말 그대로 지속적으로 데이터 스트림을 실시간 소비하고 변환하며 대상 시스템으로 로드해 분석합니다. 여기서 키워드는 지속성입니다. SDI는 주어진 시간에 소스에서 추출한 데이터의 스냅샷을 통합하는 대신, 데이터가 이용 가능해지면 이를 지속적으로 통합합니다. SDI는 데이터 저장소를 활성화함으로써 분석, 머신 러닝, 실시간 애플리케이션을 강화하고 고객 경험, 사기 탐지 기능 등을 개선합니다.  

ETL의 장점 및 과제

ETL 솔루션은 데이터를 다른 저장소에 로드하기 전 데이터 정리를 수행해 품질을 개선합니다. ETL은 상당 시간을 소요하는 일괄처리 작업이므로 업데이트 빈도가 낮은 보다 소규모의 대상 데이터 저장소를 생성하는 데 주로 권장하는 반면 ELT(추출, 로드, 변환), 변경 데이터 캡처(CDC), 데이터 가상화를 비롯한 기타 데이터 통합 방법들은 보다 대규모로 증가하는 변경 데이터 또는 실시간 데이터 스트림을 통합하는 데 사용합니다.

데이터 통합에 대해 자세히 알아보세요.

ETL 도구

과거에는 조직이 자체 ETL 코드를 직접 작성했습니다. 이제는 다수의 오픈 소스 및 상업 ETL 툴과 클라우드 서비스 중 선택하여 사용할 수 있습니다. 해당 제품들은 일반적으로 다음과 같은 기능을 포함합니다.

  • 포괄적인 자동화 및 사용 편의성:  선도적인 ETL 툴은 데이터 소스에서 대상 데이터 웨어하우스에 이르기까지 전체 데이터 플로우를 자동화합니다. 다수의 툴들은 데이터를 추출하고 변환하며 로딩하는 데 규칙을 권장합니다.
  • 시각적인 드래그앤드롭 인터페이스:  본 기능은 규칙과 데이터 플로우를 지정하는 데 사용할 수 있습니다.
  • 복잡한 데이터 관리 지원:  이는 복잡한 계산, 데이터 통합, 문자열 조작에 대한 지원을 포함합니다.
  • 보안 및 규정 준수:  최고의 ETL 툴은 동작 중이거나 미사용 중에도 데이터를 모두 암호화하며, HIPAA 및 GDPR과 같은 업계 또는 정부 규정을 준수하는 것으로 인증되었습니다.

많은 ETL 도구들이 진화를 거듭하면서 ELT 기능 또한 함께 제공하고 있으며, 더불어  인공 지능(AI) 애플리케이션용 실시간 데이터 및 스트리밍 데이터 통합을 지원합니다.

통합의 미래 - EAI를 활용한  API 

엔터프라이즈 애플리케이션 통합(EAI)을 활용하는 애플리케이션 프로그래밍 인터페이스(API)를 ETL 대신 사용하는 경우,  워크플로우  통합을 포함한 보다 유연하고 확장 가능한 솔루션을 구현할 수 있습니다. ETL이 여전히 주요  데이터 통합  리소스로 자리하고 있지만, EAI 또한  API 와 더불어 웹 기반 설정에서 사용 빈도가 증가하고 있습니다.

ETL, 데이터 통합, IBM Cloud®

IBM은 비즈니스용 데이터 파이프라인을 지원하는 것은 물론 기업의 효율적인 확장에 필요한 도구를 제공하도록 설계한 다양한 데이터 통합 툴 및 서비스를 제공합니다.

데이터 통합의 선두주자인 IBM은 기업이 빅데이터 프로젝트, SaaS 애플리케이션, 머신 러닝 기술을 관리하는 데 필요한 신뢰와 확신을 제공합니다. 조직은  IBM Cloud Pak® for Data와 같은 업계 선도적인 플랫폼을 통해  DataOps  프로세스를 현대화하는 동시에, 동급 최고의 가상화 툴을 활용하여 현재 및 향후 비즈니스에 필요한 확장성과 속도를 달성할 수 있습니다.

기업이 효과적인 데이터 통합 전략을 구축하고 실행할 수 있는 방법에 대한 자세한 정보는 IBM의  데이터 통합 제품군을 살펴보세요.

IBMid에 등록하고  IBM Cloud 계정을 생성하세요.

리소스

FlightSafety International

비행 중인 비행기 조종석에서 바라본 산의 전경

FlightSafety International은 IBM Garage™와 협업을 통해 비행 시뮬레이터를 통합한 적응형 학습 기술인 FlightSmart를 개발했습니다.

사례 연구 읽기 →