ELT(추출, 로드, 변환)란 무엇인가요?

오늘날의 데이터 기반 환경에서 조직은 방대한 양의 정보를 관리하고 분석하는 보다 효율적인 방법을 지속적으로 모색하고 있습니다. ELT(추출, 로드, 변환) 프로세스는 특히 클라우드 환경에 적합한 데이터 통합에 대한 최신 접근 방식을 나타냅니다. ELT는 다양한 데이터 세트를 처리하는 데 있어 속도, 유연성, 확장성 측면에서 확실한 이점을 제공하므로 데이터 아키텍처, 데이터 엔지니어링 또는 분석과 관련된 모든 사람에게 중요한 개념입니다. 이 접근 방식은 데이터 변환이 발생하는 시점과 위치를 바꿔 데이터 활용의 새로운 가능성을 열어줍니다.

ELT 정의

ELT는 추출(Extract), 로드(Load), 변환(Transform)을 나타냅니다. 데이터가 다양한 소스 시스템에서 먼저 추출되는 데이터 파이프라인 모델입니다. 그런 다음 원시 데이터를 별도의 스테이징 영역에서 변환하는 대신 데이터 레이크 또는 클라우드 데이터 웨어하우스와 같은 대상 데이터 스토어에 직접 로드합니다. 데이터가 대상 시스템에 로드된 후에만 변환이 적용됩니다.

이 순서는 ELT를 기존 ETL(추출, 변환, 로드)과 차별화하는 요소이며 클라우드 기반 아키텍처에서 ELT 채택이 증가하는 주요 이유입니다.

ELT는 어떻게 작동하나요?

ELT 프로세스 흐름은 최신 데이터 스토리지 및 처리 플랫폼의 성능과 확장성을 활용합니다. 각 구성요소를 자세히 살펴보겠습니다.

  • 추출: 이 첫 번째 단계에서는 원본 소스에서 원시 데이터를 수집합니다. 이러한 소스는 데이터베이스(SQL 및 NoSQL), 엔터프라이즈 애플리케이션(CRM 및 ERP 등), SaaS 플랫폼, API, 로그 파일을 포함하여 매우 다양할 수 있습니다. 추출 프로세스는 이러한 시스템에서 데이터를 효율적으로 가져오는 데 중점을 둡니다.
  • 로드: 두 번째 단계에서는 추출된 원시 데이터를 원래 형식 그대로 또는 최소한의 처리만 거쳐 고용량 스토리지 시스템에 직접 로드합니다. 이 원시 데이터의 일반적인 대상은 대량의 정형, 반정형, 비정형 데이터를 처리할 수 있는 클라우드 데이터 레이크 또는 최신 클라우드 데이터 웨어하우스입니다.
  • 변환: 데이터가 대상 시스템에 안전하게 보관된 후 이 최종 단계가 발생합니다. 데이터 웨어하우스 또는 데이터 레이크의 컴퓨팅 성능을 사용하여 원시 데이터를 정리, 구조화, 보강하고 분석, 보고, 머신러닝에 적합한 형식으로 변환합니다. 변환에는 필터링, 조인, 집계, 형식 표준화, 새 데이터 포인트 도출이 포함될 수 있습니다.

ELT 프로세스는 로드 전에 변환이 고정되지 않기 때문에 유연성을 제공합니다. 예를 들어 데이터 과학자는 원시 데이터에 액세스하여 예기치 못한 패턴을 탐색하거나 임시 분석을 수행할 수 있으며, 비즈니스 인텔리전스팀은 보고를 위해 선별되고 변환된 데이터 세트를 빌드할 수 있습니다.

ELT의 이점

ELT 접근 방식은 특히 대규모 데이터 볼륨과 다양한 데이터 유형을 다루는 환경에서 다음과 같은 몇 가지 잠재적 이점을 제공합니다.

  • 데이터 수집 속도 향상: 일반적으로 원시 데이터를 대상 시스템에 로드하는 것이 스테이징 영역에서 변환이 완료되기를 기다리는 것보다 빠릅니다. 즉, 초기 탐색이나 특정 사용 사례에 데이터를 훨씬 더 빨리 사용할 수 있습니다.
  • 유연성 및 민첩성: 원시 데이터가 대상 시스템에 보존되므로 비즈니스 요구사항이 발전함에 따라 반복적으로 변환을 개발, 수정 또는 추가할 수 있습니다. 변환 로직이 변경되더라도 소스 시스템에서 데이터를 다시 수집할 필요가 없습니다. 이미 로드된 원시 데이터에서 변환을 다시 실행하기만 하면 됩니다.
  • 확장성: 최신 클라우드 데이터 웨어하우스와 데이터 레이크는 대규모 확장성을 위해 설계되었습니다. ELT는 이러한 대상 시스템의 강력한 처리 엔진을 사용하여 변환을 수행함으로써 이러한 고유한 기능을 활용합니다. 이를 통해 조직은 증가하는 데이터 볼륨과 복잡한 변환을 효율적으로 처리할 수 있습니다.
  • 원시 데이터 보존: 원시 데이터를 저장하면 보다 완전한 기록을 남길 수 있습니다. 이는 데이터 감사, 이전 변환에서 오류가 발견된 경우 재처리, 아직 예상하지 못한 향후 분석 요구사항에 매우 유용할 수 있습니다. 데이터 과학자는 변환되지 않은 세분화된 데이터에 액세스할 수 있는 이점을 누리기도 합니다.
  • 특정 워크로드의 비용 효율성: 특히 데이터 웨어하우스에서 최적화된 처리를 제공하는 경우 변환을 위해 클라우드 데이터 웨어하우스의 컴퓨팅 성능을 사용하는 것이 별도의 인프라를 유지하거나 변환을 위해 전문 ETL 도구를 라이선스하는 것보다 비용 효율적일 수 있습니다.
  • 다양한 데이터 유형 지원: ELT는 정형 데이터, 반정형 데이터(예: JSON 또는 XML), 비정형 데이터(예: 텍스트 또는 이미지)를 처리하는 데 적합합니다. 데이터를 기본 형식으로 로드하고 필요에 따라 변환할 수 있으므로 빅데이터 시나리오에서 큰 이점이 될 수 있습니다. 로드하기 전에 처리 중에 구조가 적용되는 이 '읽기 시 스키마(schema-on-read)' 접근 방식은 ELT의 특징입니다.

ELT의 과제

ELT는 여러 이점을 제공하지만 조직에서 해결해야 할 몇 가지 고려사항도 있습니다.

  • 데이터 거버넌스 및 보안: 민감한 정보 또는 개인 식별 정보(PII)가 포함될 수 있는 원시 데이터를 데이터 레이크 또는 데이터 웨어하우스에 로드하려면 강력한 데이터 거버넌스, 보안, 규정 준수 조치가 필요합니다. 액세스 제어, 암호화, 데이터 마스킹 기법은 대상 환경 내에서 이러한 데이터를 보호하는 데 매우 중요합니다.
  • 대상 시스템 내 변환 복잡성: 강력한 기능이지만 데이터 웨어하우스(예: SQL 사용) 또는 데이터 레이크 내에서 직접 복잡한 변환 로직을 관리하는 것은 어려울 수 있습니다. 이를 위해서는 이러한 도구를 능숙하게 다루는 숙련된 인력과 코드 관리 및 최적화에 대한 체계적인 접근 방식이 필요합니다.
  • 도구 및 조정: 효과적인 ELT 구현을 위해 추출 및 로드 단계를 조정하고 대상 시스템 내에서 변환을 관리 및 실행하는 데 적절한 도구를 사용해야 합니다. 많은 클라우드 플랫폼에서 도구를 제공하지만 도구를 통합하고 전체 워크플로를 관리하려면 신중한 계획이 필요합니다.
  • '데이터 늪'이 될 가능성: 데이터 레이크에 로드된 원시 데이터가 적절하게 카탈로그화, 관리, 제어되지 않으면 데이터 레이크가 '데이터 늪'으로 변할 수 있습니다. 이 경우 데이터를 찾거나 신뢰하기 어렵고 효과적으로 사용하기 어렵습니다. 강력한 데이터 관리 전략이 중요합니다.
  • 데이터 품질 책임: 변환은 프로세스 후반에 발생하므로 데이터 품질을 보장하려면 로드 후 전용 단계가 필요할 수 있습니다. 대상 시스템 내에서 데이터를 모니터링하고 검증하는 것이 중요합니다.

이러한 문제를 선제적으로 해결하면 조직이 ELT 패러다임의 이점을 최대한 활용하는 데 도움이 될 수 있습니다.

ELT와 ETL 비교

적절한 데이터 통합 전략을 선택하려면 ELT와 기존 ETL(추출, 변환, 로드) 프로세스 간의 차이점을 이해하는 것이 중요합니다. 두 방법의 가장 큰 차이점은 변환 단계가 발생하는 시점과 수행되는 위치입니다.

기능

ELT(추출, 로드, 변환)

ETL(추출, 변환, 로드)

작업 순서

추출, 로드, 변환

추출, 변환, 로드

변환 위치

대상 데이터 스토어(데이터 웨어하우스/레이크) 내

별도의 스테이징 영역 또는 ETL 도구 환경에서

대상에 로드된 데이터

변환되지 않은 원시 데이터

정리, 구조화, 변환된 데이터

처리 성능


대상 데이터 스토어의 성능 활용

전용 ETL 엔진 또는 스테이징 서버에 의존


데이터 수집 속도


초기에 데이터를 로드하는 것이 일반적으로 빠름

사전 변환 처리로 인해 느릴 수 있음


새로운 용도에 대한 유연성


원시 데이터를 다시 변환할 수 있으므로 높은 수준

변환이 사전 정의되어 있으므로 더 낮음

스키마 처리

읽기 시 스키마에 적합

주로 쓰기 시 스키마에 의존

데이터 유형 적합성


정형 데이터, 반정형 데이터, 비정형 데이터에 적합

정형 데이터 및 일부 반정형 데이터에 적합

리소스 사용률

확장 가능한 클라우드 데이터 웨어하우스 사용 최적화

변환을 위한 별도의 인프라가 필요할 수 있음


기능

ELT(추출, 로드, 변환)

ETL(추출, 변환, 로드)

작업 순서

추출, 로드, 변환

추출, 변환, 로드

변환 위치

대상 데이터 스토어(데이터 웨어하우스/레이크) 내

별도의 스테이징 영역 또는 ETL 도구 환경에서

대상에 로드된 데이터

변환되지 않은 원시 데이터

정리, 구조화, 변환된 데이터

처리 성능


대상 데이터 스토어의 성능 활용

전용 ETL 엔진 또는 스테이징 서버에 의존


데이터 수집 속도


초기에 데이터를 로드하는 것이 일반적으로 빠름

사전 변환 처리로 인해 느릴 수 있음


새로운 용도에 대한 유연성


원시 데이터를 다시 변환할 수 있으므로 높은 수준

변환이 사전 정의되어 있으므로 더 낮음

스키마 처리

읽기 시 스키마에 적합

주로 쓰기 시 스키마에 의존

데이터 유형 적합성


정형 데이터, 반정형 데이터, 비정형 데이터에 적합

정형 데이터 및 일부 반정형 데이터에 적합

리소스 사용률

확장 가능한 클라우드 데이터 웨어하우스 사용 최적화

변환을 위한 별도의 인프라가 필요할 수 있음


ELT는 Google Cloud에서 데이터 통합을 위해 권장하는 패턴입니다. ELT에는 소스 시스템에서 데이터를 추출하고 BigQuery에 로드한 다음 분석을 위해 원하는 형식으로 변환하는 작업이 포함됩니다. 데이터 웨어하우스에 로드하기 전에 데이터를 변환하는 ETL(추출, 변환, 로드)과 달리 ELT 접근 방식을 사용하면 BigQuery의 모든 기능을 활용하여 데이터 변환을 수행하고 모든 SQL 사용자가 데이터 통합 파이프라인을 효과적으로 개발할 수 있습니다.

ELT와 ETL 중에서 선택하는 것은 특정 사용 사례, 기존 인프라, 데이터 볼륨, 조직의 분석 요구사항에 따라 달라집니다. 많은 최신 데이터 아키텍처에서는 파이프라인의 다른 부분에 ELT와 ETL을 모두 사용하는 하이브리드 접근 방식을 채택하기도 합니다.

ELT 사용 사례

ELT 패턴은 다음과 같은 다양한 최신 데이터 시나리오에서 특히 효과적입니다.

클라우드 데이터 웨어하우징

ELT는 Google Cloud의 BigQuery와 같이 대규모 데이터 세트의 변환을 효율적으로 처리할 수 있는 막대한 처리 성능과 확장성을 제공하는 클라우드 데이터 플랫폼에 적합합니다.

빅데이터 분석

방대한 양의 속도가 빠르고 다양한 데이터를 다룰 때 ELT를 사용하면 데이터 레이크 또는 확장 가능한 스토리지로 빠르게 수집할 수 있습니다. 그런 다음 분산 처리 프레임워크를 사용하여 필요에 따라 변환을 적용할 수 있습니다.

데이터 레이크 구현

데이터 레이크는 방대한 양의 원시 데이터를 기본 형식으로 저장하도록 설계되었습니다. ELT 프로세스는 이 원시 데이터를 로드하고 다양한 분석 및 처리 엔진이 이를 변환하고 사용할 수 있습니다.

실시간 또는 거의 실시간 데이터 처리

최신 데이터에 빠르게 액세스해야 하는 사용 사례의 경우 ELT를 통해 로드 단계를 신속하게 진행할 수 있습니다. 그러면 이 데이터의 하위 집합에서 특정한 거의 실시간에 가까운 대시보드 또는 애플리케이션에 대한 변환을 수행할 수 있습니다.

탐색적 데이터 분석 및 데이터 과학

데이터 과학자는 특성 추출, 머신러닝 모델 빌드, 사전 정의된 변환에 구애받지 않는 유용한 정보의 발견을 위해 변환되지 않은 원시 데이터에 액세스하는 것을 선호하는 경우가 많습니다. ELT를 사용하면 원시 데이터를 쉽게 사용할 수 있습니다.

다양한 데이터 소스 통합

구조가 다양한 수많은 서로 다른 시스템의 데이터를 통합할 때 ELT는 모든 데이터를 먼저 중앙 위치에 로드한 다음 변환을 통해 조화시킴으로써 초기 수집을 간소화합니다.

Google Cloud로 비즈니스 문제 해결

신규 고객에게는 Google Cloud에서 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.

Google Cloud에서 ELT를 사용하는 방법

Google Cloud는 ELT 아키텍처를 최적화하는 데 도움이 되는 포괄적인 서비스 제품군을 제공하므로 조직에서 강력하고 확장 가능한 데이터 파이프라인을 빌드할 수 있습니다. 데이터베이스 내 변환에 BigQuery와 같은 서비스의 기능을 사용하는 데 중점을 둡니다.

Google Cloud 서비스가 ELT 패턴에 일반적으로 사용되는 방식은 다음과 같습니다.

  • 추출: 일괄 및 스트림 데이터 처리를 위한 Dataflow, Spark 및 Hadoop 워크로드를 위한 Dataproc과 같은 서비스를 사용하거나 커넥터 및 API를 통해 Google Cloud 서비스로 직접 데이터를 추출할 수 있습니다. Pub/Sub는 실시간 스트리밍 데이터를 수집하는 데 사용할 수 있습니다.
  • 로드: 추출된 원시 데이터는 일반적으로 확장성이 뛰어나고 내구성이 우수한 데이터 레이크 역할을 하는 Cloud Storage에 로드됩니다. Cloud Storage에서 데이터를 Google Cloud의 확장성이 뛰어나고 비용 효율적인 서버리스 멀티 클라우드 데이터 웨어하우스 BigQuery에 효율적으로 로드할 수 있습니다. 데이터를 BigQuery로 직접 스트리밍할 수도 있습니다.
  • 변환: ELT의 'T'가 Google Cloud에서 빛을 발하는 부분입니다. BigQuery는 표준 SQL을 사용하여 페타바이트 규모로 복잡한 변환을 수행하도록 설계되었습니다. 강력한 처리 엔진은 내부에 저장된 데이터에서 조인, 집계, 윈도우 함수, 기타 변환을 직접 처리합니다. 사용자는 JavaScript로 사용자 정의 함수(UDF)를 개발하거나 BigQuery ML을 활용하여 데이터베이스 내 머신러닝을 수행할 수도 있습니다. 원시 데이터는 주로 Cloud Storage 또는 별도의 BigQuery 테이블에 남아 있어 다양한 재변환이 가능합니다.

Google Cloud의 인프라는 원시 데이터를 위한 확장 가능한 스토리지, 빠른 로드 기능, BigQuery 내 강력한 엔진을 제공하여 변환을 효율적으로 수행함으로써 ELT의 핵심 원칙을 지원합니다. 이를 통해 데이터 엔지니어는 관리형 서버리스 환경 내에서 데이터가 신속하게 배치된 후 특정 분석 요구사항에 따라 정제되는 파이프라인을 빌드할 수 있습니다.

다음 단계 수행

$300의 무료 크레딧과 20여 개의 항상 무료 제품으로 Google Cloud에서 빌드하세요.

Google Cloud