본문 바로가기

SAP

ETL

최초 작성일: 2024년 1월 2일

최종 작성일: 2024년 1월 2일

 

목표: Data Service라는 솔루션 이해

 

ETL을  알아보게 된 계기는,

SAP 내부적으로 Data Integration을 사용하지만, 외부의 데이터와 ETL( 혹은 ELT)을 위해서는 'Data Services'라는 제품이 있음. 생긴 모습은 'Data Stage 7.xx 버전'의 짝퉁 같은 느낌임.

SAP Connector 라이브러리를 사용하여  SAP와의 궁합은 맞을 듯 하나 원천 DB와의 궁합이 의문.

 

ETL 이란,

ETL(추출, 전환, 적재)는 다양한 소스의 테이터를 데이터 웨어하우스라고 부르는데,

대형 중앙 집중식 Repository*에 결합하는 과정 임.

ETL은 원시 데이터를 정리 및 구성해서 스토리지, 데이터 분석, 기계 학습(ML)용으로 준비하기 위한 비즈니스 규칙 세트임.

사용자는 데이터 분석 (비즈니스 의사 결정의 결과 예측, 보고서 및 대쉬보드 생성, 운영 비효율성 저감 등)을 통해 특정 비즈니스 인텔리전스 요구 사항을 해결할 수 있음.

 

ETL이 중요한 이유는?

조직은 다양한 소스의 정형 데이터와 비정형 데이터를 모두 보유하고 있음

온라인 결제 및 고객 관계 관리 (CRM)시스템의 고객 데이터

공급업체 시스템의 재고 및 운영 데이터

사물 인터넷 디바이스의 센서 데이터

소셜 미디어 및 고객 피드백의 마케팅 데이터

내부 HR 시스템의 직원 데이터

 

추출, 전환, 적재 프로세스를 적용하여 개별 원시 데이터 세트를 분석용으로 적합하도록 보다 소비하기 쉬운 형식과 구조로 준비 할 수 있음.

그리고 이를 통해 보다 의미있는 인사이트를 얻을 수 있음.

예를 들어 온라인 소매업체의 POS 데이터를 분석하여 수요를 예측하고 재고를 관리 할 수 있음.

마케팅 팀은 CRM 데이터와 소셜 미디어의 고객 피드백을 통합하여 소비자 행동을 연구 할 수 있음.

 

 

ETL은 비즈니스 인텔리전스에 어떤 이점을 제공하는가?

 

추출,전화,적재(ETL)는 더 신뢰할 수 있고 정확하고 자세하며 효율적인 프로세스르 ㄹ통해 비즈니스 인텔리전스와 분석을 개선함.

 

기록 컨텍스트

ETL은 심층 분석과 보고를 위한 통합 데이터 보기를 제공함. 여러 데이터 세트를 관리하며녀 시간과 조율이 필요하면 비효율성과 지연이 발생할 수 이음.

ETL은 데이터 베이스와 다양한 형태의 데이터를 하나의 통합된 보기로 결합함. 데이터 통합 프로세스는 데이터 품질을 개선하고 데이터 이동, 분류 또는 표준화 하는데 필요한 시간을 줄여줌. 따라서 대규모 데이터 세트를 더 쉽게 분석하고 시각화 하고 이해할 수 있음.

 

정확한 데이터 분석

ETL은 보다 정확한 데이터 분석을 통해 규정과 규제 표준을 충족함. ETL 도구를 데이터 품질 도구와 통합하여 데이터를 프로파일링, 감사 및 정리 함으로 써 데이터의 신뢰성을 보장할 수 있음.

 

작업 자동화

ETL은 효율적인 분석을 위해 반복적인 데이터 처리 작업을 자동화함. ETL 도구는 데이터 마이그레이션 프로세스를 자동화하며, 주기적으로 또는 런타임에 데이터 변경 사항을 통합하도록 설정할 수 있음. 따라서 데이터 엔지니어가 데이터 이동 및 포맷과 같은 번거로운 작업을 관리하는 데 시간을 허비하지 않고 혁신 작업데 더 많은 시간을 할애 할 수 있음.

 

ETL은 어떻게 발전했나요?

ETL은 분석을 위한 테이블의 형태로 데이터를 저장하는 관계형 데이터베이스의 출현과 함께 시작됨.

초기의 ETL 도구는 분석을 위해 데이터를 트랜잭션 데이터 형식에서 관계형 데이터 형식으로 변환함.

 

기존 ETL

원시 데이터는 많은 읽기 및 쓰기 요청을 지원하지만, 분석에는 적합하지 않은 트랜잭션 데이터베이스에 주로 저장 되었음.

스프레드쉬트의 행을 떠올리면 됨.

예를 들어, 전자 상거래 시스템에서 트랜잭션 데이터 베이스는 구매한 품목, 고객 세부 정보 및 주문 세부 정보를 단일 트랜잭션에 저장함.

한해 동안 여러 품목을 구매한 동일한 고객에 대한 반복적인 항목이 포함된 긴 거래 목록이 만들어졌음.

데이터 중복을 고려하면, 그 해에 가장 인기 있는 품목을 분석하거나 구매 동향을 파악하기가 어려워졌다고 할 수 있음.

이 문제를 극복하기 위해 ETL 도구는 이 트랜잭션 데이터를 상호 연결된 테이블이 있는 관계형 데이터로 자동으로 변환함.

분석가는 쿼리를 사용하여 패턴과 동향뿐만 아니라 테이블 간의 관계도 식별할 수 있음.

 

현대적 ETL

ETL 기술이 발전하면서 데이터 유형과 데이터 소스가 기하급수적으로 증가했음.

그리고 방대한 데이터베이스(데이터 싱크라고도 함)를 구축하기 위한 클라우드 기술이 등장함.

이 같은 데이터 싱크는 여러 소스로부터 데이터를 수신할 수 있으며, 시간이 지남에 따라 확장할 수 있는 기반 하드웨어 리소스를 사용할 수 있음.

또한 ETL 도구는 더욱 정교해졌으며 현대적 데이터 싱크에도 사용할 수 있음.

기존 데이터 형식에서 현대적 데이터 형식으로 데이터를 변환할 수 있음.

 

다음은 현대적 데이터 베이스의 예임

1) 데이터 웨어하우스

여러 데이터베이스를 저장할 수 있는 중앙 repository 임.

각 데이터베이스 내에서는 테이블과 테이블의 데이터 유형을 설명하는 열로 데이터를 구성할 수 있음.

데이터 웨어하우스 소프트웨어는 SSD, 하드 드라이브 및 기타 클라우드 스토리지와 같은 다양한 유형의 스토리지 하드 웨어에서 작동하여 데이터 처리를 최적화 함.

 

2) 데이터 레이크

데이터 레이크를 사용하면 모든 규모의 정형 및 비정형 데이터를 단일 중앙 집중식 repository에 저장할 수 있음.

향후 발생할 수 있는 질문에 따라 데이터를 먼저 구조화 할 필요 없이, 그대로 저장 가능.

또한 데이터 레이크를 사용하면 SQL 쿼리, 빅 데이터 분석, 전체 텍스트 검색, 실시간 분석, 기계 학습(ML) 등 다양한 유형의 분석을 실행하여 보다 나은 의사 결정을 내릴 수 있음.

 

ETL은 어떻게 작동하나요?

1. 소스 데이터베이스에서 관련 데이터 추출

2. 분석에 더 적합한 형식으로 데이터 변환

3. 데이터를 대상 데이터베이스에 로드

 

 

테이블 추출이란 무엇인가요?

  • 데이터 추출 프로세스에서 추출, 전환, 적재( ETL) 도구는 여러 소스에서 원시 데이터를 추출하거나 복사하여 스테이징 영역에 저장함.
  • 스테이징 영역(또는 랜딩 존)은 추출된 데이터를 일시적으로 저장하기 위한 중간 저장 영역임.
  • 데이터 스테이징 영역은 일시적인 경우가 많으면 데이터 추출이 완료되면 콘텐츠가 지워짐. 하지만, 스테이징 영역에는 문제 해결을 위한 데이터 아카이브가 유지될 수 있음

업데이트 알림

업데이트 알림에서 소스 시스템은 데이터 레코드가 변경되면 사용자에게 알림.

그러면 해당 변경 사항에 대해 추출 프로세스를 실행 가능.

대부분의 데이터베이스 및 웹 애플리케이션은 이 데이터 통합 방법을 지원하는 업데이트 메커니즘을 제공함.

 

증분 추출

일부 데이터 소스는 업데이트 알림을 제공할 수 없지만, 일정 기간 동안 수정된 데이터를 식별하고 추출할 수 있음.

이 경우 시스템은 일주일에 한 번, 한달에 한번 또는 캠페인 종료 시와 같은 주기적인 간격으로 변경사항을 확인함. 따라서 변경된 데이터만 추출하면 됨.

 

전체 추출

일부 시스템에서는 데이터 변경 사항을 식별하거나 알림을 제공할 수 없으므로, 모든 데이터를 다시 로드 하는 것이 유일한 옵션이 됨. 이 추출 방식을 사용하려면 마지막 추출의 복사본을 보관하여 새 레코드를 확인해야함.

이 방식은 데이터 전송량이 많으므로 크기가 작은 테이블에만 사용하는 것이 좋음

 

데이터 변환이란 무엇인가요?

데이터 변환에서 추출, 전환, 적재(ETL) 도구는 준비 영역의 원시 데이터를 변환하고 통합하여 대상 데이터 웨어하우스에 대비함.

데이터 변환 단계에는 다음과 같은 과정을 포함될 수 있음.

 

기본 데이터 변환

기본 변환은 오류를 제거하거나 데이터 필드를 비우거나 데이터를 단순화 하여 데이터의 품질을 높입니다. 이러한 변환의 예는 다음과 같음.

1)데이터 정리 : 데이터 정리는 오류를 제거하고 소스 데이터를 대상 데이터 형식에 매핑함. 예를 들어 빈 데이터 필드를 숫자 0에 매핑하거나, 데이터 값 'Parent'를 'P'에 매핑하거나 'Child'를 'C'에 매핑 할 수 있음.

2)데이터 중복 제거: 데이터 정리의 중복 제거 기능은 중복 레코드를 식별하고 제거 함.

3)데이터 형식 수정: 형식 수정은 문자 집합, 측정 단위 및 날짜/시간 값과 같은 데이터를 일관된 형식으로 변환함. 일례로, 한 식품 회사는 재료를 각각 킬로그램과 파운도로 계량하는 서로 다른 레시피 데이터베이스를 가지고 있음. 이 경우 ETL은 모든 단위를 파운드로 변환함.

 

고급 데이터 변환

고급 변환은 데이터를 보다 쉽게 분석할 수 있도록 비즈니스 규칙을 사용하여 데이터를 최적화함. 이러한 변환의 예는 다음과 같음.

파생: 파생은 데이터에 비즈니스 규칙을 적용하여 기존 값에서 새로운 값을 계산함. 예를 들어 비용을 빼거나 각 품목의 가격에 주문 품목 수를 곱하여 총 구매 비용을 계산함으로써 매출에서 수익을 구할 수 있음.

결합: 데이터 준비 과정에서 결합은 서로 다른 데이터 소스의 동일한 데이터를 연결하는 것을 말함. 예를 들어 여러 공급업체의 구매 가격을 더하고 최종 합계만 대상 시스템에 저장하면 특정 품목의 총 구매 비용을 구할 수 있음.

분할: 열 또는 데이터 속성을 대상 시스템에서 여러 열로 나눌 수 있음. 예를 들어 데이터 소스에 고객 이름이 'Jane John Doe'로 저장되어 있으면, 이를 이름, 중간 이름, 성으로 나눌 수 있음.

요약: 요약은 많은 데이터 값을 더 작은 데이터 세트로 줄임으로써 데이터 품질을 높임. 예를 들어, 고객 주문 송장 값에는 여러 개의 작은 금액이 포함될 수 있음. 일정 기간에 걸쳐 데이터를 합산하는 방법으로 고객 평생 가치(CLV) 지표를 만들어 데이터를 요약할 수 있음.

암호화 : 대상 데이터베이스로 데이터를 스트리밍 하기 전에 암호화를 추가하여 중요한 데이터를 보호함으로써 데이터 관련 법률 또는 데이터 프라이버시를 준수 할 수 있음

 

데이터 로딩이란 무엇인가요?

추출,전화,적재(ETL) 도구는 데이터 로드 시에 변환된 데이터를 스테이징 영역에서 대상 데이터 웨어하우스로 이동함.

ETL을 사용하는 대부분의 조직에서는 프로세스가 자동화되고 잘 정의되어 있으며 배치 방식으로 연속적으로 수행됨.

데이터를 로드하는 두가지 방법은 다음과 같음.

전체 로드

전체 로드에서는 소스의 전체 데이터가 변환되어 데이터 웨어하우스로 이동함. 일반적으로 전체 로드는 소스시스템에서 데이터 하우스로 데이터를 처음 로드할때 발생함.

증분 로드

증분 로드에서는 ETL 도구가 대상 시스템과 소스 시스템 간의 델타 (또는 차이)를 일정한 간격으로 로드함. 마지막 추출 날짜가 저장되어, 이 날짜 이후에 추가된 레코드만 로드됨. 증분 로드를 구현하는 방법은 두가지가 있음.

 

스트리밍 증분 로드

데이터 볼륨이 작은 경우 데이터 파이프라인을 통해 지속적인 변경 사항을 대상 데이터 웨어하우스로 스트리밍 할 수 있음.

데이터 속도가 초당 수백만개의 이벤트로 증가하면 이벤트 스트림 처리를 사용하여 데이터 스트림을 모니터링 하고 처리 하여 보다 신속하게 의사결정을 내릴 수 있음.

 

배치 증분 로드

데이터 볼륨이 큰 경우, 로드 데이터 변경 사항을 주기적으로 배치단위로 수집할 수 있음. 설정된 시간 동안 데이터가 동기화되면, 소스 또는 대상 시스템에서 어떤 작업도 수행할 수 없음.

 

ELT란 무엇인가요?

추출, 적재, 전환(ELT)은 작업의 순서를 역순으로 바꾸는 추출,전환, 적재(ETL)의 확장 기능임. 데이터를 처리하기 전에 대상 시스템에 직접 데이터를 로드할 수 있음. 대상 데이터 웨어하우스 내에 데이터 매핑 기능이 있으므로, 중간 스테이징 영역은 필요하지 않음. ELT은 대상 데이터베이스에 변환에 필요한 처리 능력을 제공하는 클라우드 인프라의 도입과 함께 더욱 인기를 끌게 됨.

 

ELT와 비교한 ETL

ELT는 빈번하게 로드해야 하는 대량의 비정형 데이터 세트에 적합함. 또한, 데이터 추출 및 저장 후 분석을 위한 계획을 수립 할 수 있으므로 빅 데이터에도 이상적임. 대량의 변환 작업은 분석 단계에서 수행하도록 남겨두고, 최소한으로만 처리한 원시 데이터를 데이터 웨어하우스에 로드하는 데 초점을 맞춤.

 

ETL 프로세스에는 처음에 더 많은 정의가 필요함. 대상 데이터 유형, 구조 및 관계를 정의하려면 처음부터 분석이 실행 되어야 함. 데이터 사이언티스트는 주로 ETL을 사용하여 레거시 데이터 베이스를 웨어하우스에 로드하며, ELT는 오늘날 표준이 되었음.

 

참고: ETL이란 무엇인가요? - 추출, 전환, 적재 설명 - AWS (amazon.com)

'SAP' 카테고리의 다른 글

MFA(Multi-Factor Authentication)  (0) 2024.11.18
OData  (0) 2024.05.02
[WIP]CLASS-분류 시스템 구조  (0) 2023.11.02
[WIP]CLASS-분류 시스템 구조  (1) 2023.11.02
CBO 테이블  (1) 2023.11.02