ETL은 추출, 변환 및 로드를 나타냅니다. 데이터 기반 조직에서 여러 소스에서 데이터를 수집한 다음 이를 통합하여 검색, 보고, 분석 및 의사 결정을 지원하는 데 사용하는 프로세스입니다.
데이터 소스는 유형, 형식, 볼륨 및 안정성이 다를 수 있으므로 함께 제공될 때 도움이 되도록 처리해야 하는 데이터가 필요합니다. 대상 데이터 저장소는 목표 및 기술 실행에 따라 데이터베이스, 데이터 웨어하우스 또는 데이터 레이크가 될 수 있습니다. 다음과 같은 ETL의 다음 단계가 있습니다 -
추출 − 추출하는 동안 ETL은 데이터를 인식하고 원본에서 복제하므로 데이터를 대상 데이터 저장소로 전송할 수 있습니다. 데이터는 파일, 이메일, 비즈니스 소프트웨어, 데이터베이스, 장비, 센서, 제3자 등을 포함한 정형 및 비정형 소스에서 나타날 수 있습니다.
다음과 같이 추출을 수행하는 다양한 방법이 있습니다.
부분 추출 − 정보에 액세스하는 가장 간단한 방법은 레코드가 수정되었을 때 소스 시스템에서 알려주는 것입니다.
부분 추출(업데이트 알림 포함) − 업데이트가 발생한 경우 모든 시스템에서 알림을 제공할 수 있는 것은 아닙니다. 그러나 변환된 레코드에 표시하고 이러한 레코드의 추출을 지원할 수 있습니다.
전체 추출 − 특정 시스템은 어떤 데이터가 변경되었는지 전혀 식별할 수 없습니다. 이 경우 전체 추출은 시스템에서 레코드를 추출하는 유일한 실행 가능성입니다. 이 접근 방식에서는 생성된 변경 사항을 식별할 수 있도록 동일한 형식의 최종 추출 복사본이 필요했습니다.
변형 − 두 번째 단계에는 소스에서 추출한 원시 정보를 여러 응용 프로그램에서 사용할 수 있는 형식으로 변환하는 작업이 포함됩니다. 이 단계에서 데이터는 정리, 매핑 및 변환되어 명확한 스키마를 제공하므로 운영상의 필요를 찾습니다.
이 프로세스에는 데이터의 품질과 무결성을 제공하는 여러 유형의 변환이 필요합니다. 데이터는 일반적으로 대상 데이터 소스에 정확하게 로드되지 않지만, 대신 스테이징 데이터베이스에 업로드되는 경우가 많습니다.
이 단계는 무언가가 계획대로 진행되지 않는 경우 빠른 롤백을 보장합니다. 이 단계에서 규정 준수를 위한 감사 문서를 작성하거나 일부 데이터 문제를 진단 및 복구할 수 있습니다.
로드 − ETL은 변환된 정보를 대상 데이터 저장소로 이동합니다. 이 단계에서는 모든 소스 정보의 원래 로드가 필요할 수도 있고 소스 정보의 증분 변경 로드가 필요할 수도 있습니다. 실시간 또는 예약된 배치로 데이터를 로드할 수 있습니다.