ETL이 중요한 이유는 무엇인가요?
오늘날 조직은 다음과 같은 다양한 소스의 정형 데이터와 비정형 데이터를 모두 보유하고 있습니다.
- 온라인 결제 및 고객 관계 관리(CRM) 시스템의 고객 데이터
- 공급업체 시스템의 재고 및 운영 데이터
- 사물 인터넷(IoT) 디바이스의 센서 데이터
- 소셜 미디어 및 고객 피드백의 마케팅 데이터
- 내부 HR 시스템의 직원 데이터
추출, 전환, 적재(ETL) 프로세스를 적용하여 개별 원시 데이터 세트를 분석용으로 적합하도록 보다 소비하기 쉬운 형식과 구조로 준비할 수 있습니다. 그리고 이를 통해 보다 의미 있는 인사이트를 얻을 수 있습니다. 예를 들어 온라인 소매업체는 POS의 데이터를 분석하여 수요를 예측하고 재고를 관리할 수 있습니다. 마케팅 팀은 CRM 데이터와 소셜 미디어의 고객 피드백을 통합하여 소비자 행동을 연구할 수 있습니다.
ETL은 비즈니스 인텔리전스에 어떤 이점을 제공하나요?
추출, 전환, 적재(ETL)는 더 신뢰할 수 있고 정확하고 자세하며 효율적인 프로세스를 통해 비즈니스 인텔리전스와 분석을 개선합니다.
기록 컨텍스트
ETL은 조직의 데이터에 대한 심층적인 기록 컨텍스트를 제공합니다. 기업은 기존 데이터와 새로운 플랫폼 및 애플리케이션의 데이터를 결합할 수 있습니다. 오래된 데이터 세트를 보다 최신 정보와 함께 볼 수 있으므로, 데이터를 장기적으로 파악할 수 있습니다.
통합 데이터 보기
ETL은 심층 분석과 보고를 위한 통합 데이터 보기를 제공합니다. 여러 데이터 세트를 관리하려면 시간과 조율이 필요하며 비효율성과 지연이 발생할 수 있습니다. ETL은 데이터베이스와 다양한 형태의 데이터를 하나의 통합된 보기로 결합합니다. 데이터 통합 프로세스는 데이터 품질을 개선하고 데이터를 이동, 분류 또는 표준화하는 데 필요한 시간을 줄여줍니다. 따라서 대규모 데이터 세트를 더 쉽게 분석하고 시각화하고 이해할 수 있습니다.
정확한 데이터 분석
ETL은 보다 정확한 데이터 분석을 통해 규정과 규제 표준을 충족합니다. ETL 도구를 데이터 품질 도구와 통합하여 데이터를 프로파일링, 감사 및 정리함으로써 데이터의 신뢰성을 보장할 수 있습니다.
작업 자동화
ETL은 효율적인 분석을 위해 반복적인 데이터 처리 작업을 자동화합니다. ETL 도구는 데이터 마이그레이션 프로세스를 자동화하며, 주기적으로 또는 런타임에 데이터 변경 사항을 통합하도록 설정할 수 있습니다. 따라서 데이터 엔지니어가 데이터 이동 및 포맷과 같은 번거로운 작업을 관리하는 데 시간을 허비하지 않고 혁신 작업에 더 많은 시간을 할애할 수 있습니다.
ETL은 어떻게 발전했나요?
추출, 전환, 적재(ETL)은 분석을 위한 테이블의 형태로 데이터를 저장하는 관계형 데이터베이스의 출현과 함께 시작되었습니다. 초기의 ETL 도구는 분석을 위해 데이터를 트랜잭션 데이터 형식에서 관계형 데이터 형식으로 변환했습니다.
기존 ETL
원시 데이터는 많은 읽기 및 쓰기 요청을 지원하지만 분석에는 적합하지 않은 트랜잭션 데이터베이스에 주로 저장되었습니다. 스프레드시트의 행을 떠올리면 됩니다. 예를 들어 전자 상거래 시스템에서 트랜잭션 데이터베이스는 구매한 품목, 고객 세부 정보 및 주문 세부 정보를 단일 트랜잭션에 저장합니다. 한 해 동안 여러 품목을 구매한 동일한 고객에 대한 반복적인 항목이 포함된 긴 거래 목록이 만들어졌습니다. 데이터 중복을 고려하면, 그 해에 가장 인기 있는 품목을 분석하거나 구매 동향을 파악하기가 어려워졌다고 할 수 있습니다.
이 문제를 극복하기 위해 ETL 도구는 이 트랜잭션 데이터를 상호 연결된 테이블이 있는 관계형 데이터로 자동으로 변환했습니다. 분석가는 쿼리를 사용하여 패턴과 동향뿐만 아니라 테이블 간의 관계도 식별할 수 있습니다.
현대적 ETL
ETL 기술이 발전하면서 데이터 유형과 데이터 소스가 기하급수적으로 증가했습니다. 그리고 방대한 데이터베이스(데이터 싱크라고도 함)를 구축하기 위한 클라우드 기술이 등장했습니다. 이 같은 데이터 싱크는 여러 소스로부터 데이터를 수신할 수 있으며, 시간이 지남에 따라 확장할 수 있는 기반 하드웨어 리소스를 사용할 수 있습니다. 또한 ETL 도구는 더욱 정교해졌으며 현대적 데이터 싱크에도 사용할 수 있습니다. 기존 데이터 형식에서 현대적 데이터 형식으로 데이터를 변환할 수 있습니다. 다음은 현대적 데이터베이스의 예입니다.
데이터 웨어하우스
데이터 웨어하우스는 여러 데이터베이스를 저장할 수 있는 중앙 리포지토리입니다. 각 데이터베이스 내에서는 테이블과 테이블의 데이터 유형을 설명하는 열로 데이터를 구성할 수 있습니다. 데이터 웨어하우스 소프트웨어는 SSD, 하드 드라이브 및 기타 클라우드 스토리지와 같은 다양한 유형의 스토리지 하드웨어에서 작동하여 데이터 처리를 최적화합니다.
데이터 레이크
데이터 레이크를 사용하면 모든 규모의 정형 및 비정형 데이터를 단일 중앙 집중식 리포지토리에 저장할 수 있습니다. 향후 발생할 수 있는 질문에 따라 데이터를 먼저 구조화할 필요 없이, 그대로 저장할 수 있습니다. 또한 데이터 레이크를 사용하면 SQL 쿼리, 빅 데이터 분석, 전체 텍스트 검색, 실시간 분석, 기계 학습(ML) 등 다양한 유형의 분석을 실행하여 보다 나은 의사 결정을 내릴 수 있습니다.
ETL은 어떻게 작동하나요?
추출, 전환, 적재(ETL)는 데이터를 소스 시스템에서 대상 시스템으로 정기적으로 이동하는 방식으로 작동합니다. ETL 프로세스는 다음 세 단계로 작동합니다.
- 소스 데이터베이스에서 관련 데이터 추출
- 분석에 더 적합한 형식으로 데이터 변환
- 데이터를 대상 데이터베이스에 로드
테이블 추출이란 무엇인가요?
데이터 추출 프로세스에서 추출, 전환, 적재(ETL) 도구는 여러 소스에서 원시 데이터를 추출하거나 복사하여 스테이징 영역에 저장합니다. 스테이징 영역(또는 랜딩 존)은 추출된 데이터를 일시적으로 저장하기 위한 중간 저장 영역입니다. 데이터 스테이징 영역은 일시적인 경우가 많습니다. 즉, 데이터 추출이 완료되면 콘텐츠가 지워집니다. 하지만 스테이징 영역에는 문제 해결을 위한 데이터 아카이브가 유지될 수도 있습니다.
시스템이 데이터 소스에서 대상 데이터 스토어로 데이터를 전송하는 빈도는 기반 변경 데이터 캡처 메커니즘에 따라 다릅니다. 데이터 추출은 일반적으로 다음 세 가지 방법 중 하나로 수행됩니다.
업데이트 알림
업데이트 알림에서 소스 시스템은 데이터 레코드가 변경되면 사용자에게 알립니다. 그러면 해당 변경 사항에 대해 추출 프로세스를 실행할 수 있습니다. 대부분의 데이터베이스 및 웹 애플리케이션은 이 데이터 통합 방법을 지원하는 업데이트 메커니즘을 제공합니다.
증분 추출
일부 데이터 소스는 업데이트 알림을 제공할 수 없지만, 일정 기간 동안 수정된 데이터를 식별하고 추출할 수 있습니다. 이 경우 시스템은 일주일에 한 번, 한 달에 한 번 또는 캠페인 종료 시와 같은 주기적인 간격으로 변경 사항을 확인합니다. 따라서 변경된 데이터만 추출하면 됩니다.
전체 추출
일부 시스템에서는 데이터 변경 사항을 식별하거나 알림을 제공할 수 없으므로, 모든 데이터를 다시 로드하는 것이 유일한 옵션이 됩니다. 이 추출 방식을 사용하려면 마지막 추출의 복사본을 보관하여 새 레코드를 확인해야 합니다. 이 방식은 데이터 전송량이 많으므로 크기가 작은 테이블에만 사용하는 것이 좋습니다.
데이터 변환이란 무엇인가요?
데이터 변환에서 추출, 전환, 적재(ETL) 도구는 준비 영역의 원시 데이터를 변환하고 통합하여 대상 데이터 웨어하우스에 대비합니다. 데이터 변환 단계에는 다음과 같은 유형의 데이터 변경이 포함될 수 있습니다.
기본 데이터 변환
기본 변환은 오류를 제거하거나 데이터 필드를 비우거나 데이터를 단순화하여 데이터의 품질을 높입니다. 이러한 변환의 예는 다음과 같습니다.
데이터 정리
데이터 정리는 오류를 제거하고 소스 데이터를 대상 데이터 형식에 매핑합니다. 예를 들어 빈 데이터 필드를 숫자 0에 매핑하거나, 데이터 값 ‘Parent’를 ‘P’에 매핑하거나, ‘Child’를 ‘C’에 매핑할 수 있습니다.
데이터 중복 제거
데이터 정리의 중복 제거 기능은 중복 레코드를 식별하고 제거합니다.
데이터 형식 수정
형식 수정은 문자 집합, 측정 단위 및 날짜/시간 값과 같은 데이터를 일관된 형식으로 변환합니다. 일례로, 한 식품 회사는 재료를 각각 킬로그램과 파운드로 계량하는 서로 다른 레시피 데이터베이스를 가지고 있습니다. 이 경우 ETL은 모든 단위를 파운드로 변환합니다.
고급 데이터 변환
고급 변환은 데이터를 보다 쉽게 분석할 수 있도록 비즈니스 규칙을 사용하여 데이터를 최적화합니다. 이러한 변환의 예는 다음과 같습니다.
파생
파생은 데이터에 비즈니스 규칙을 적용하여 기존 값에서 새로운 값을 계산합니다. 예를 들어 비용을 빼거나 각 품목의 가격에 주문 품목 수를 곱하여 총 구매 비용을 계산함으로써 매출에서 수익을 구할 수 있습니다.
결합
데이터 준비 과정에서 결합은 서로 다른 데이터 소스의 동일한 데이터를 연결하는 것을 말합니다. 예를 들어 여러 공급업체의 구매 가격을 더하고 최종 합계만 대상 시스템에 저장하면 특정 품목의 총 구매 비용을 구할 수 있습니다.
분할
열 또는 데이터 속성을 대상 시스템에서 여러 열로 나눌 수 있습니다. 예를 들어 데이터 소스에 고객 이름이 ‘Jane John Doe’로 저장되어 있으면, 이를 이름, 중간 이름, 성으로 나눌 수 있습니다.
요약
요약은 많은 데이터 값을 더 작은 데이터 세트로 줄임으로써 데이터 품질을 높입니다. 예를 들어 고객 주문 송장 값에는 여러 개의 작은 금액이 포함될 수 있습니다. 일정 기간에 걸쳐 데이터를 합산하는 방법으로, 고객 평생 가치(CLV) 지표를 만들어 데이터를 요약할 수 있습니다.
암호화
대상 데이터베이스로 데이터를 스트리밍하기 전에 암호화를 추가하여 중요한 데이터를 보호함으로써 데이터 관련 법률 또는 데이터 프라이버시를 준수할 수 있습니다.
데이터 로딩이란 무엇인가요?
추출, 전환, 적재(ETL) 도구는 데이터 로드 시에 변환된 데이터를 스테이징 영역에서 대상 데이터 웨어하우스로 이동합니다. ETL을 사용하는 대부분의 조직에서는 프로세스가 자동화되고 잘 정의되어 있으며 배치 방식으로 연속적으로 수행됩니다. 데이터를 로드하는 두 가지 방법은 다음과 같습니다.
전체 로드
전체 로드에서는 소스의 전체 데이터가 변환되어 데이터 웨어하우스로 이동합니다. 일반적으로 전체 로드는 소스 시스템에서 데이터 웨어하우스로 데이터를 처음 로드할 때 발생합니다.
증분 로드
증분 로드에서는 ETL 도구가 대상 시스템과 소스 시스템 간의 델타(또는 차이)를 일정한 간격으로 로드합니다. 마지막 추출 날짜가 저장되어, 이 날짜 이후에 추가된 레코드만 로드됩니다. 증분 로드를 구현하는 방법은 두 가지가 있습니다.
스트리밍 증분 로드
데이터 볼륨이 작은 경우 데이터 파이프라인을 통해 지속적인 변경 사항을 대상 데이터 웨어하우스로 스트리밍할 수 있습니다. 데이터 속도가 초당 수백만 개의 이벤트로 증가하면 이벤트 스트림 처리를 사용하여 데이터 스트림을 모니터링하고 처리하여 보다 신속하게 의사 결정을 내릴 수 있습니다.
배치 증분 로드
데이터 볼륨이 큰 경우 로드 데이터 변경 사항을 주기적으로 배치 단위로 수집할 수 있습니다. 설정된 시간 동안 데이터가 동기화되면 소스 또는 대상 시스템에서 어떤 작업도 수행할 수 없습니다.
ELT란 무엇인가요?
추출, 적재, 전환(ELT)은 작업의 순서를 역순으로 바꾸는 추출, 전환, 적재(ETL)의 확장 기능입니다. 데이터를 처리하기 전에 대상 시스템에 직접 데이터를 로드할 수 있습니다. 대상 데이터 웨어하우스 내에 데이터 매핑 기능이 있으므로, 중간 스테이징 영역은 필요하지 않습니다. ELT은 대상 데이터베이스에 변환에 필요한 처리 능력을 제공하는 클라우드 인프라의 도입과 함께 더욱 인기를 끌게 되었습니다.
ELT와 비교한 ETL
ELT는 빈번하게 로드해야 하는 대량의 비정형 데이터 세트에 적합합니다. 또한 데이터 추출 및 저장 후 분석을 위한 계획을 수립할 수 있으므로 빅 데이터에도 이상적입니다. 대량의 변환 작업은 분석 단계에서 수행하도록 남겨두고, 최소한으로만 처리한 원시 데이터를 데이터 웨어하우스에 로드하는 데 초점을 맞춥니다.
ETL 프로세스에는 처음에 더 많은 정의가 필요합니다. 대상 데이터 유형, 구조 및 관계를 정의하려면 처음부터 분석이 실행되어야 합니다. 데이터 사이언티스트는 주로 ETL을 사용하여 레거시 데이터베이스를 웨어하우스에 로드하며, ELT는 오늘날 표준이 되었습니다.
데이터 가상화란 무엇인가요?
데이터 가상화는 데이터를 물리적으로 추출, 변환 또는 로드하지 않고 소프트웨어 추상화 계층을 사용하여 통합 데이터 보기를 생성합니다. 조직에서는 소스 및 타겟용으로 별도의 플랫폼을 구축하고 관리하는 데 따른 비용과 복잡성 없이, 이 기능을 가상 통합 데이터 리포지토리로 사용합니다. 데이터 가상화는 추출, 전환, 적재(ETL)와 함께 사용할 수 있지만, 갈수록 ETL 및 기타 물리적 데이터 통합 방식의 대안으로 인식되고 있습니다. 예를 들어 AWS Glue Elastic Views를 사용하여 여러 소스 데이터 스토어에서 가상 테이블(구체화된 뷰)을 신속하게 생성할 수 있습니다.
AWS Glue란 무엇인가요?
AWS Glue는 분석 사용자가 분석, 기계 학습 및 애플리케이션 개발을 위해 여러 소스에서 데이터를 쉽게 탐색, 준비, 이동 및 통합할 수 있도록 하는 확장 가능한 서버리스 데이터 통합 서비스입니다.
- 80여 개의 다양한 데이터 스토어를 탐색하고 연결할 수 있습니다.
- 중앙 집중식 데이터 카탈로그에서 데이터를 관리할 수 있습니다.
- 데이터 엔지니어, ETL 개발자, 데이터 분석가, 비즈니스 사용자는 AWS Glue Studio를 사용하여, 데이터 레이크로 데이터를 로드하는 ETL 파이프라인을 생성하고 실행하며 모니터링할 수 있습니다.
- AWS Glue Studio는 시각적 ETL, 노트북 및 코드 편집기 인터페이스를 제공하므로 사용자가 각자의 기술 역량에 맞는 도구를 사용할 수 있습니다.
- 데이터 엔지니어는 대화형 세션을 통해 데이터를 탐색하고 원하는 IDE 또는 노트북을 사용하여 작업을 생성 및 테스트할 수 있습니다.
- AWS Glue는 온디맨드로 자동 확장되는 서버리스 서비스이므로, 인프라를 관리할 필요 없이 페타바이트 규모의 데이터에서 인사이트를 얻는 데 집중할 수 있습니다.
AWS 계정을 만들어 AWS Glue를 시작하세요.