데이터 웨어하우스의 ETL(추출, 변환 및 로드) 프로세스

ETL이란 무엇입니까?

ETL 다양한 소스 시스템에서 데이터를 추출한 다음 데이터를 변환(예: 계산 적용, 연결 등)하고 최종적으로 데이터를 데이터 웨어하우스 시스템에 로드하는 프로세스입니다. ETL의 전체 형태는 추출, 변환 및 로드입니다.

데이터 웨어하우스를 만드는 것이 단순히 여러 소스에서 데이터를 추출하여 데이터 웨어하우스의 데이터베이스에 로드하는 것이라고 생각하기 쉽습니다. 이는 사실과 거리가 멀고 복잡한 ETL 프로세스가 필요합니다. ETL 프로세스에는 개발자, 분석가, 테스터, 최고 경영진을 포함한 다양한 이해 관계자의 적극적인 입력이 필요하며 기술적으로 어렵습니다.

의사결정자를 위한 도구로서의 가치를 유지하기 위해서는 비즈니스 변화에 맞춰 데이터 웨어하우스 시스템도 변화해야 합니다. ETL은 데이터 웨어하우스 시스템의 반복적인 활동(매일, 매주, 매월)이며 민첩하고 자동화되며 잘 문서화되어야 합니다.

왜 ETL이 필요한가요?

조직에서 ETL을 채택하는 데에는 여러 가지 이유가 있습니다.

  • 이는 기업이 중요한 비즈니스 결정을 내리기 위해 비즈니스 데이터를 분석하는 데 도움이 됩니다.
  • 트랜잭션 데이터베이스는 ETL 예제를 통해 답할 수 있는 복잡한 비즈니스 질문에 답할 수 없습니다.
  • 데이터 웨어하우스는 공통 데이터 저장소를 제공합니다.
  • ETL은 다양한 소스의 데이터를 데이터 웨어하우스로 이동하는 방법을 제공합니다.
  • 데이터 소스가 변경되면 데이터 웨어하우스가 자동으로 업데이트됩니다.
  • 잘 설계되고 문서화된 ETL 시스템은 데이터 웨어하우스 프로젝트의 성공에 거의 필수적입니다.
  • 데이터 변환, 집계 및 계산 규칙을 ​​확인할 수 있습니다.
  • ETL 프로세스를 통해 소스 시스템과 대상 시스템 간의 샘플 데이터 비교가 가능합니다.
  • ETL 프로세스는 복잡한 변환을 수행할 수 있으며 데이터를 저장하기 위한 추가 영역이 필요합니다.
  • ETL은 데이터를 데이터 웨어하우스로 마이그레이션하는 데 도움이 됩니다. 다양한 형식과 유형으로 변환하여 하나의 일관된 시스템을 준수합니다.
  • ETL은 대상 데이터베이스의 소스 데이터에 액세스하고 조작하기 위해 사전 정의된 프로세스입니다.
  • 데이터 웨어하우스의 ETL은 비즈니스에 대한 깊은 역사적 맥락을 제공합니다.
  • 기술이 없어도 코드화하고 재사용할 수 있어 생산성 향상에 도움이 됩니다.

데이터 웨어하우스의 ETL 프로세스

ETL은 3단계 프로세스입니다.

ETL 프로세스
ETL 프로세스

1단계) 추출

ETL 아키텍처의 이 단계에서는 소스 시스템에서 스테이징 영역으로 데이터가 추출됩니다. 스테이징 영역에서 변환이 수행되므로 소스 시스템의 성능이 저하되지 않습니다. 또한 손상된 데이터가 소스에서 데이터 웨어하우스 데이터베이스로 직접 복사되는 경우 롤백이 어려울 수 있습니다. 스테이징 영역은 추출된 데이터가 데이터 웨어하우스로 이동하기 전에 검증할 수 있는 기회를 제공합니다.

데이터 웨어하우스는 서로 다른 시스템을 통합해야 합니다.

DBMS, 하드웨어, Opera시스템 및 통신 프로토콜에 대해 설명합니다. 소스에는 메인프레임과 같은 레거시 애플리케이션, 맞춤형 애플리케이션, ATM과 같은 접점 장치, 통화 스위치, 텍스트 파일, 스프레드시트, ERP, 공급업체의 데이터, 파트너 등이 포함될 수 있습니다.

따라서 데이터를 물리적으로 추출하고 로드하기 전에 논리적 데이터 맵이 필요합니다. 이 데이터 맵은 소스와 대상 데이터 간의 관계를 설명합니다.

세 가지 데이터 추출 방법:

  1. 전체 추출
  2. 부분 추출 - 업데이트 알림이 없습니다.
  3. 부분 추출 - 업데이트 알림 포함

사용된 방법에 관계없이 추출은 소스 시스템의 성능과 응답 시간에 영향을 주어서는 안 됩니다. 이러한 소스 시스템은 라이브 프로덕션 데이터베이스입니다. 속도가 느려지거나 잠기면 회사의 수익에 영향을 미칠 수 있습니다.

추출 중에 일부 검증이 수행됩니다.

  • 레코드를 원본 데이터와 조정
  • 스팸/원치 않는 데이터가 로드되지 않았는지 확인하세요.
  • 데이터 유형 확인
  • 모든 유형의 중복/조각화된 데이터 제거
  • 모든 열쇠가 제자리에 있는지 확인하십시오.

2단계) 변환

소스 서버에서 추출된 데이터는 원시(Raw) 데이터이므로 원본 형태로 사용할 수 없습니다. 따라서 이를 정리하고 매핑하고 변환해야 합니다. 실제로 이는 ETL 프로세스가 가치를 추가하고 통찰력 있는 BI 보고서가 생성될 수 있도록 데이터를 변경하는 핵심 단계입니다.

추출된 데이터에 함수 집합을 적용하는 중요한 ETL 개념 중 하나입니다. 변환이 필요하지 않은 데이터를 다음과 같이 부릅니다. 직접 이동 or 데이터를 통과하다.

변환 단계에서 데이터에 대한 사용자 지정 작업을 수행할 수 있습니다. 예를 들어, 사용자가 데이터베이스에 없는 매출 합계를 원하는 경우입니다. 또는 테이블의 이름과 성이 다른 열에 있는 경우입니다. 로드하기 전에 연결할 수 있습니다.

데이터 통합 ​​문제
데이터 통합 ​​문제

다음은 데이터입니다 Integrity 문제 :

  1. Jon, John 등 같은 사람의 철자가 다릅니다.
  2. Google, Google Inc.와 같이 회사 이름을 표시하는 방법에는 여러 가지가 있습니다.
  3. Cleveland, Cleveland와 같은 다른 이름을 사용합니다.
  4. 동일한 고객에 대해 다양한 응용프로그램에서 서로 다른 계좌번호가 생성되는 경우가 있을 수 있습니다.
  5. 일부 데이터에서는 필수 파일이 비어 있습니다.
  6. POS에 수동 입력으로 수집된 유효하지 않은 제품은 실수로 이어질 수 있습니다.

이 단계에서 유효성 검사가 수행됩니다.

  • 필터링 – 특정 열만 선택하여 로드
  • 데이터 표준화를 위한 규칙 및 조회 테이블 사용
  • 문자 집합 변환 및 인코딩 처리
  • 날짜 시간 변환, 통화 변환, 수치 변환 등과 같은 측정 단위 변환
  • 데이터 임계값 유효성 검사. 예를 들어 나이는 두 자리를 초과할 수 없습니다.
  • 준비 영역에서 중간 테이블까지의 데이터 흐름 유효성 검사.
  • 필수 입력란은 비워둘 수 없습니다.
  • 정리(예: NULL을 0으로 매핑하거나 성별 남성을 "M"으로, 여성을 "F"로 매핑 등)
  • 열을 여러 개로 분할하고 여러 열을 단일 열로 병합합니다.
  • 행과 열을 바꾸며,
  • 조회를 사용하여 데이터 병합
  • 복잡한 데이터 검증을 사용하는 경우(예: 행의 처음 두 열이 비어 있는 경우 자동으로 해당 행을 처리에서 거부함)

3단계) ​​로딩

대상 데이터웨어하우스 데이터베이스에 데이터를 로드하는 것은 ETL 프로세스의 마지막 단계입니다. 일반적인 데이터 웨어하우스에서는 상대적으로 짧은 기간(밤)에 막대한 양의 데이터를 로드해야 합니다. 따라서 로드 프로세스는 성능에 맞게 최적화되어야 합니다.

로드 오류가 발생한 경우 데이터 무결성 손실 없이 오류 지점부터 다시 시작하도록 복구 메커니즘을 구성해야 합니다. 데이터 웨어하우스 관리자는 일반적인 서버 성능에 따라 로드를 모니터링, 재개, 취소해야 합니다.

로딩 유형:

  • 초기 로드 — 모든 데이터 웨어하우스 테이블 채우기
  • 증분 로드 — 정기적으로 필요한 경우 지속적인 변경 사항을 적용합니다.
  • 전체 새로 고침 —하나 이상의 테이블 내용을 지우고 새로운 데이터로 다시 로드합니다.

부하 확인

  • 키 필드 데이터가 누락되거나 널(NULL)이 아닌지 확인하십시오.
  • 대상 테이블을 기반으로 모델링 뷰를 테스트합니다.
  • 결합된 값과 계산된 측정값을 확인합니다.
  • 차원 테이블과 히스토리 테이블에서 데이터를 확인합니다.
  • 로드된 팩트 및 차원 테이블에 대한 BI 보고서를 확인하세요.

ETL 도구

많은 사람들이있다 ETL 도구 시장에서 구할 수 있습니다. 가장 눈에 띄는 것은 다음과 같습니다.

1. 마크로직:

MarkLogic은 다양한 엔터프라이즈 기능을 사용하여 데이터 통합을 더 쉽고 빠르게 만드는 데이터 웨어하우징 솔루션입니다. 문서, 관계, 메타데이터 등 다양한 유형의 데이터를 쿼리할 수 있습니다.

https://www.marklogic.com/product/getting-started/


2. Oracle:

Oracle 업계를 선도하는 데이터베이스입니다. 온프레미스와 클라우드 모두에 대한 다양한 데이터 웨어하우스 솔루션을 제공합니다. 운영 효율성을 높여 고객 경험을 최적화하는 데 도움이 됩니다.

https://www.oracle.com/index.html


3. Amazon 빨간색Shift:

Amazon Redshift는 Datawarehouse 도구입니다. 표준을 사용하여 모든 유형의 데이터를 분석하는 간단하고 비용 효율적인 도구입니다. SQL 그리고 기존 BI 도구. 또한 페타바이트 규모의 구조화된 데이터에 대한 복잡한 쿼리를 실행할 수 있습니다.

https://aws.amazon.com/redshift/?nc2=h_m1

다음은 유용한 전체 목록입니다. 데이터 웨어하우스 도구.

우수 사례 ETL 프로세스

ETL 프로세스 단계에 대한 모범 사례는 다음과 같습니다.

모든 데이터를 정리하려고 시도하지 마십시오.

모든 조직은 모든 ​​데이터를 정리하고 싶어하지만 대부분은 기다릴 준비가 되어 있지 않거나 기다릴 준비가 되어 있지 않습니다. 모든 데이터를 정리하려면 시간이 너무 오래 걸리므로 모든 데이터를 정리하지 않는 것이 좋습니다.

아무것도 청소하지 마십시오:

데이터 웨어하우스를 구축하는 가장 큰 이유는 보다 깨끗하고 안정적인 데이터를 제공하기 위한 것이기 때문에 항상 무언가를 정리할 계획을 세우십시오.

데이터 정리 비용을 결정합니다.

모든 더티 데이터를 정리하기 전에 모든 더티 데이터 요소에 대한 정리 비용을 결정하는 것이 중요합니다.

쿼리 처리 속도를 높이려면 보조 보기와 인덱스를 사용하세요.

저장 비용을 줄이려면 요약된 데이터를 디스크 테이프에 저장하세요. 또한 저장할 데이터 볼륨과 자세한 사용 간의 트레이드오프가 필요합니다. 저장 비용을 줄이기 위해 데이터의 세분성 수준에서 트레이드오프합니다.

제품 개요

  • ETL은 추출(Extract), 변환(Transform) 및 로드(Load)를 의미합니다.
  • ETL은 다양한 소스의 데이터를 데이터웨어 하우스.
  • 첫 번째 단계 추출에서는 데이터가 소스 시스템에서 준비 영역으로 추출됩니다.
  • 변환 단계에서는 소스에서 추출된 데이터를 정리하고 변환합니다.
  • 대상 데이터웨어하우스에 데이터를 로드하는 것은 ETL 프로세스의 마지막 단계입니다.