etl-hero-background.jpg

ETL

개념과 중요성

ETL은 데이터 통합의 한 유형으로서 여러 소스에서 추출된 데이터를 혼합하기 위해 사용하는 3단계(추출, 변환, 로드)를 말합니다. 주로 데이터 웨어하우스를 구축하는 데 사용됩니다. 이 프로세스에서 데이터는 소스 시스템으로부터 취합(추출)되어 분석 가능한 형식으로 바뀌고(변환) 데이터 웨어하우스 또는 기타 시스템에 저장(로드)됩니다. 반면, 추출, 로드, 변환 방식(ELT)은 성능 향상을 위해 데이터베이스에서 프로세스하도록 설계된 대안적이면서도 밀접한 접근 방식입니다.

ETL 역사

ETL은 1970년대부터 다양한 유형의 비즈니스 정보를 저장하기 위해 여러 데이터 저장소 또는 데이터베이스를 사용하기 시작하면서 인기를 얻었습니다. 이후 이러한 데이터베이스에 분산된 데이터를 통합해야 할 필요성이 빠르게 증가했습니다. ETL은 서로 다른 소스에서 데이터를 취합하여 대상 소스 또는 목적 지점에 로드하기 전에 데이터를 변환하는 표준 방식이 되었습니다.

1980년대 후반과 1990년대 초반에는 데이터 웨어하우스가 등장했습니다. 데이터 웨어하우스는 고유한 데이터베이스 유형으로, 메인프레임 컴퓨터, 미니컴퓨터, 개인용 컴퓨터 및 스프레드시트와 같은 여러 시스템의 데이터에 통합적으로 액세스할 수 있는 길을 열어주었습니다. 그러나 부서마다 다른 데이터 웨어하우스에서 사용하는 ETL 도구를 선택하는 경우가 많았습니다. 인수 합병으로 인해 많은 조직은 통합되지 않은 여러 가지 다양한 ETL 솔루션을 사용하게 되었습니다.

시간이 지남에 따라 데이터 형식, 소스 및 시스템의 수가 엄청나게 증가했습니다. 추출, 변환, 로드는 이제 조직이 데이터를 수집하고 가져오고 처리하는 데 사용하는 여러 가지 방법 중 하나에 불과합니다. ETL과 ELT는 조직의 광범위한 데이터 통합 전략에 있어 중요한 부분입니다.

ETL이 중요한 이유

기업은 데이터를 통합적으로 관찰하고 더 나은 비즈니스 의사결정을 이끌어내기 위해 수년 동안 ETL 프로세스에 의존해 왔습니다. 오늘날에도 여러 시스템 및 소스의 데이터를 통합하기 위해 사용하는 이 방법은 여전히 조직의 데이터 통합 도구 상자의 핵심 구성 요소입니다.

Extract Transfrom Load - infographic

ETL은 다양한 소스에서 데이터를 이동하고 변환하여 Hadoop과 같은 다양한 대상에 로드하는 데 사용됩니다.

  • ETL은 기업 데이터 웨어하우스(미사용 데이터)와 함께 사용할 경우 비즈니스에 대해 과거 맥락을 심층적으로 제공합니다.
  • ETL은 통합 가시성을 제공함으로써 비즈니스 사용자가 자신의 이니셔티브와 관련된 데이터를 분석하고 보고하는 일을 용이하게 해줍니다.
  • ETL은 코드나 스크립트를 작성하는 기술적 스킬을 필요로 하지 않으면서 데이터 이동 프로세스를 코드화하고 재사용하기 때문에 데이터 전문가의 생산성을 향상할 수 있습니다.
  • ETL은 스트리밍 데이터와 같은 새로운 통합 요구 사항을 지원하기 위해 시간이 지나며 발전해왔습니다.
  • 조직이 데이터를 통합하고 정확도를 유지하며 데이터 웨어하우징, 보고 및 분석에 일반적으로 필요한 감사를 제공하기 위해서는 ETL과 ELT가 모두 필요합니다. 

ETL의 활용 현황

오늘날의 빠르게 움직이는 데이터(스트리밍 데이터)는 스트리밍 분석을 통해 즉시 검출 및 분석할 수 있습니다. 이러한 접근 방식은 한 순간에 일어나는 일에 대해 즉시 조치를 취할 수 있는 기회를 제공합니다. 그러나 ETL이 제공하는 과거 기록 보기로 인해 데이터가 맥락에 따라 표시됩니다. 그 결과, 조직은 시간이 지남에 따라 비즈니스를 다각적으로 이해하게 됩니다. 이 때문에 두 가지 접근 방식이 함께 작동해야 합니다.

가장 성공적인 조직은 데이터 통합을 경쟁력 차별화의 기본 토대로 인식하는 명확하고 정확한 전략을 마련합니다.
–데이비드 로신(David Loshin), Knowledge Integrity Inc.의 대표 새로운 데이터 통합 환경: Ad Hoc ETL을 넘어 엔터프라이즈 데이터 통합 전략으로 전환

 

SAS의  데이터 통합 소프트웨어

SAS의 데이터 통합 소프트웨어는  모든 플랫폼에 통합 작업을 분산시키고 소스 또는 목표 데이터 스토어에 가상으로 연결합니다.

SAS 데이터 통합 소프트웨어에 대해 자세히 알아보기

ETL 활용 방법

핵심 ETL 및 ELT 도구는 기타 데이터 통합 도구 및 데이터 품질, 데이터 거버넌스, 가상화 및 메타데이터와 같은 다양한 데이터 관리 측면과 더불어 작동합니다. 오늘날 널리 사용되는 용도는 다음과 같습니다.

ETL과 기존 용도

ETL은 판매 데이터를 정기적으로 확인해야 하는 소매업체나 클레임에 대한 정확한 설명을 필요로 하는 의료 서비스 제공 업체 등 많은 조직에서 매일 사용하는 검증된 방법입니다. ETL은 웨어하우스 또는 기타 데이터 스토어의 트랜잭션 데이터를 결합하고 표면화하여 비즈니스 담당자가 이해할 수 있는 형식으로 볼 수 있도록 지원합니다. ETL은 또한 기존 시스템에서 다른 데이터 출력형식을 가진 최신 시스템으로 데이터를 마이그레이션하는 데에도 사용됩니다. 비즈니스 합병 이후의 데이터를 통합하고 외부 공급업체나 파트너의 데이터를 수집하고 모으는 데 자주 사용됩니다.

빅데이터와 ETL – 변환 및 어댑터

가장 많은 데이터를 얻는 사람이 이깁니다. 반드시 그렇다고 할 수는 없지만, 비즈니스가 광범위한 데이터에 쉽게 액세스할 수 있다면 경쟁 우위를 확보할 수 있습니다. 오늘날 기업은 비디오, 소셜 미디어, 사물 인터넷(IoT), 서버 로그, 공간 데이터, 오픈 또는 클라우드소스 데이터 등 모든 종류의 빅데이터에 액세스해야 합니다. ETL 벤더는 이러한 새로운 요구 사항과 새로운 데이터 소스를 지원하기 위해 도구에 새로운 혁신을 가하는 경우가 많습니다. 어댑터는 매우 다양한 데이터 소스에 액세스할 수 있으며, 데이터 통합 도구는 이러한 어댑터와 상호 작용하여 효율적으로 데이터를 추출하고 로드합니다.

Hadoop용 ETL 및 그 외 솔루션

ETL은 기존 데이터 웨어하우스보다 훨씬 더 많은 데이터 웨어하우스에서 통합을 지원하도록 진화했습니다. 고급 ETL 도구는 정형 및 비정형 데이터를 Hadoop으로 로드 및 변환할 수 있습니다. 이러한 도구는 Hadoop과 나란히 여러 파일을 동시적으로 읽고 쓰기 때문에 데이터를 일반적인 변환 프로세스로 병합하는 방법을 간소화합니다. 일부 솔루션은 Hadoop에서 실행되는 트랜잭션 데이터와 상호 작용 데이터 모두를 위해 미리 구축된 ETL 변환 라이브러리를 통합합니다. 또한 ETL은 트랜잭션 시스템, 운영 데이터 스토어, BI 플랫폼, 마스터 데이터 관리(MDM) 허브 및 클라우드 간의 통합도 지원합니다.

ETL 및 셀프 서비스 데이터 액세스

셀프 서비스 데이터 준비는 빠르게 성장하는 트렌드로서, 비즈니스 사용자 및 기타 비기술적 데이터 전문가가 데이터 액세스, 혼합, 변환 기능을 수행할 수 있는 것을 말합니다. 이러한 접근 방식은 본질적으로 조직의 민첩성을 높일 뿐만 아니라, IT 부서에서 비즈니스 사용자를 위해 다양한 형식으로 데이터를 프로비저닝해야 하는 부담을 덜어줍니다. 데이터 준비에 걸리는 시간이 줄어들고 인사이트를 생성하는 데 할애되는 시간이 늘어납니다. 따라서 비즈니스 및 IT 데이터 전문가 모두 생산성을 향상할 수 있으며, 조직은 확장된 데이터 사용을 통해 더 나은 의사결정을 내릴 수 있습니다.

ETL과 데이터 품질

데이터 정제, 프로파일링 및 감사에 사용하는 ETL 및 기타 데이터 통합 소프트웨어 도구는 데이터의 신뢰성을 보장합니다. ETL 도구는 데이터 품질 도구와 통합되며, ETL 벤더는 데이터 매핑 및 데이터 계보 생성에 사용되는 것과 같은 관련 도구를 솔루션 내에 통합합니다.

ETL과 메타데이터

메타데이터는 데이터 계보(원천)와 그것이 조직의 다른 데이터 자산에 미치는 영향을 이해하는 데 도움이 됩니다. 데이터 아키텍처가 복잡해짐에 따라 조직의 다양한 데이터 요소가 어떻게 사용되고 관련되는지 추적하는 것이 중요합니다. 예를 들어 고객 데이터베이스에 Twitter 계정 이름을 추가하는 경우 ETL 작업, 응용 프로그램 또는 보고서와 같이 영향을 받는 항목을 알아야 합니다.



SAS® Data Management 구현 사례

SAS Data Management를 사용하면 Twitter 피드의 고객 데이터와 같은 방대한 양의 데이터를 활용하여 이전과는 전혀 다른 인사이트를 얻을 수 있습니다. 매튜 마그네(Matthew Magne)는 SAS가 Twitter 데이터를 데이터 레이크로 스트리밍하여 데이터를 정제하고 프로파일링한 다음, 탈퇴 가능성이 가장 높은 고객을 알아내는 방법에 대해 설명합니다. 궁극적으로 이러한 고객을 유지하기 위한 계획을 세울 수 있습니다.

작동 원리

ETL은 기타 여러 데이터 통합 기능, 프로세스 및 기술과 밀접하게 관련되어 있습니다. 이 사실을 이해하면 ETL의 작동 원리를 보다 명확하게 파악할 수 있습니다. 

SQL구조화된 쿼리 언어는 데이터베이스 내에서 데이터에 액세스하고 변환하는 가장 일반적인 방법입니다.
변환, 비즈니스 규칙 및 어댑터 
ETL은 데이터를 추출한 후 비즈니스 규칙을 사용하여 데이터를 새로운 출력형식으로 변환합니다. 이후 변환 데이터는 목표 지점에 로드됩니다.
데이터 매핑데이터 매핑은 변환 프로세스의 일부입니다. 매핑은 응용 프로그램이 처리해야 하는 데이터를 가져오는 방법에 대한 자세한 지침을 제공합니다. 또한 어떤 소스 필드가 어떤 대상 필드에 매핑되는지도 설명합니다. 예를 들어 웹사이트 활동의 데이터 피드에서 세 번째 속성은 사용자 이름, 네 번째 속성은 해당 활동이 발생한 시간 스탬프, 다섯 번째 속성은 사용자가 클릭한 제품일 수 있습니다. 해당 데이터를 사용하는 응용 프로그램 또는 ETL 프로세스는 소스 시스템(즉, 웹사이트 활동 데이터 피드)에서 이와 동일한 필드 또는 속성을 대상 시스템에서 필요한 출력형식으로 매핑해야 합니다. 대상 시스템이 고객 관계 관리 시스템인 경우, 사용자 이름을 첫 번째로 저장하고 타임 스탬프를 다섯 번째로 저장할 수 있습니다. 이때 선택 제품은 아예 저장되지 않을 수도 있습니다. 이 경우 소스로부터 데이터를 읽고 대상에 기록하는 시간 사이에 예상 출력형식(그리고 올바른 순서)으로 날짜 형식을 지정하는 변환이 발생할 수 있습니다.
스크립트 ETL은 백그라운드에서 실행되는 스크립트(명령어 세트)를 자동화하여 데이터를 이동하고 변환하는 방법입니다. ETL 이전에는 특정 시스템 간에 데이터를 전송하기 위해 C 또는 COBOL로 스크립트를 개별적으로 작성했습니다. 이로 인해 여러 데이터베이스에서 수많은 스크립트를 실행해야 했습니다. 초기 ETL 도구는 메인프레임에서 일괄 처리로 실행되었습니다. ETL은 이후에 UNIX 및 PC 플랫폼으로 마이그레이션되었습니다. 조직은 오늘날에도 여전히 스크립트와 프로그램 데이터 이동 방법을 모두 사용합니다.
ETL 대 ELT처음에 ETL이 있었습니다. 이후에 조직은 보완 방법으로 ELT를 추가했습니다. ELT는 소스 시스템에서 데이터를 추출하여 대상 시스템에 로드한 다음 소스 시스템의 처리 능력을 사용하여 변환을 수행합니다. 이는 데이터가 위치한 곳에서 실행되므로 데이터 처리 속도가 빠릅니다.
데이터 품질   데이터를 통합하기 전에 데이터를 정리하고 데이터 값을 표준화(NC 및 North Carolina, Mister 및 Mr., 또는 Matt 및 Matthew)하고 주소를 확인하고 중복을 제거할 수 있는 스테이징 영역이 생성되는 경우가 많습니다. 많은 솔루션이 여전히 독립형이지만, 이제는 데이터 통합 프로세스의 변환 중 하나로 데이터 품질 절차를 실행할 수 있습니다.
스케줄링 및 프로세스  ETL 도구 및 기술은 일괄 스케줄링 또는 실시간 기능을 제공할 수 있습니다. 또한 서버에서 대용량으로 데이터를 처리하거나 프로세스를 데이터베이스 레벨로 배부할 수 있습니다. 특수 엔진이 아닌 데이터베이스에서 프로세스하는 이러한 방식은 데이터 중복을 방지하고 데이터베이스 플랫폼에서 추가 용량을 사용할 필요가 없습니다.
일괄 프로세스  ETL은 일반적으로 "배치 윈도우(batch window)"라고 하는 일정 시간 동안 두 시스템 간에 방대한 양의 데이터를 이동하는 일괄 프로세스입니다. 설정된 시간(예: 정오부터 오후 1시 사이) 동안에는 데이터가 동기화되기 때문에 소스 또는 대상 시스템에 아무런 작업도 수행할 수 없습니다. 대부분의 은행은 하루 종일 발생하는 거래를 해결하기 위해 야간에 일괄 프로세스를 수행합니다.
웹 서비스웹 서비스는 다양한 응용 프로그램에 데이터나 기능을 거의 실시간으로 제공하는 인터넷 기반 서비스 방식입니다. 이 방식은 데이터 통합 프로세스를 간소화하고 데이터로부터 더 많은 가치를 더 빠르게 전달할 수 있습니다. 예를 들어 고객이 콜센터에 연락했다고 가정해 보겠습니다. 여러 소스 또는 MDM 허브에서 데이터를 추출하는 웹 서비스에 전화번호를 전달하기만 하면 응답 시간 1초 미만으로 완전한 고객 프로파일을 제시하는 웹 서비스를 만들 수 있습니다. 서비스 담당자는 고객에 관해 보다 풍부한 지식을 갖추고 더 나은 고객 소통 방법을 결정할 수 있습니다.
마스터 데이터 관리 
MDM은 데이터를 모두 수집하여 여러 소스의 데이터에 대한 단일 뷰를 생성하는 프로세스입니다. MDM에는 ETL과 데이터 통합 기능이 모두 포함되어 있어 데이터를 모두 혼합한 다음 "골든 레코드" 또는 "최고 레코드"를 만듭니다.
데이터 가상화가상화는 데이터를 이동하지 않고 데이터를 모두 혼합하여 데이터에 대한 가상 뷰를 만드는 애자일 방법입니다. 데이터 가상화는 데이터 매핑 및 결합이 발생하더라도 결과를 저장하기 위한 물리적 스테이징 테이블이 필요하지 않다는 점에서 ETL과 다릅니다. 성능 향상을 위해 뷰가 메모리에 저장되고 캐시되는 경우가 많기 때문입니다. SAS Federation Server와 같은 일부 데이터 가상화 솔루션은 동적 데이터 마스킹, 랜덤화 및 해싱 기능을 제공하여 특정 역할이나 그룹의 중요한 데이터를 보호합니다. 또한 SAS는 뷰가 생성되는 동안 필요에 따른 데이터 품질을 제공합니다.
이벤트 스트림 처리 및 ETL  데이터 속도가 초당 수백만 개의 이벤트로 증가하면 이벤트 스트림 처리를 사용하여 데이터 스트림을 모니터링하고 데이터 스트림을 처리하며 시기적절한 의사결정을 내릴 수 있습니다. 에너지 분야의 한 예를 들면, 데이터 스트림에 대한 예측 분석을 사용하여 수중 펌프의 수리가 필요한 시점을 알아내어 펌프의 가동 중단 시간과 손상 범위 및 정도를 모두 줄이는 것입니다.