본문 바로가기
DATA

[ETL][1] ETL이란 무엇인가? - ETL이란? 각각의 의미는?

by 오늘은강박사갈거야~~ 2021. 7. 31.
반응형

- 저도 공부하는 중입니다. 틀리거나 잘못된 내용이 있으면 알려주셔요.

 


이전에 ETL에 대한 간단한 정의를 찾아보고, 이를 정리해 보는 글을 작성한 적이 있었는데,

https://bramhyun.tistory.com/18

 

그 이후로 여러 자료들을 접하면서 조금 더 공부를 하게 되어서 ETL에 대한 글을 연재로 작성해 보려고 합니다.

 

 

1. ETL이란

 

ETL은 Extract , Transform, Load의 약자로, 한 문장으로 표현을 하자면, 아래와 같이 표현할 수 있습니다.

 

다양한 소스에 존재하는 데이터를 데이터 저장소에 수집하고, 이를 사용자들의 용도에 맞게, 데이터를 변형하고 사용 가능한 곳으로 옮기는 프로세스

 

www.xplenty.com

 

그림을 보면서 이해를 해보도록 하겠습니다.

 

가장 왼쪽부터 보시면, 다양한 Data Sources(DB, CRM, ERP 등)에서 데이터를 Extract(추출/수집)하게 됩니다. 이 것들은 Staging Area(임시 저장소) 로 보내지게 되고, 일정한 형태 또는 요청된 형태로 변환 작업이 수행됩니다. 최종적으로 Target Repository(Data Warehouse Data Mart 등)Load(적재)가 되며 마무리됩니다.

 

그렇다면 각각의 단계에 대해서 조금 더 자세히 알아보도록 하겠습니다.

 

Extract

이 단계에서는 Source에 접근을 해서 데이터를 추출해 오는 단계입니다.

추출 방법은 ODBC, JDBC 가 존재합니다. 일반적인 ETL TOOL에서는 Source에 접근하게 해 주는 기능이 존재합니다. 

 

아래는 예시로 Source를 몇 개 적어보았습니다.

 

  • 관계형 및 비 관계형 데이터베이스
  • 플랫 파일(예:. XML, JSON, CSV 등등)
  • CRM 및 ERP 시스템
  • API
  • 인터넷 사이트
  • 시스템 로그 및 메타데이터

 

Transform

추출이 된 데이터를 목표한 저장공간에 보내기 위해 변환하는 단계입니다.

 

아래는 예시 작업들입니다.

 

  • 구조화되지 않은 데이터를 구조화된 형식으로 정리
  • 추출한 데이터에 필터링
  • 데이터 유효성 검사
  • 데이터를 정렬
  • 여러 테이블을 함께 조인
  • 중복 레코드를 제거

 

Load

추출과 그리고 변환이 끝난 데이터들을 Target Repository에 저장하는 단계입니다. 

사용자가 데이터에 접근할 수 있는 대상 데이터 저장소 시스템에 데이터를 적재합니다. 이 전 단계인 변환 단계의 위치인 스테이징 데이터베이스에서 대상 데이터 저장소로 가져오는 것으로 보면 되겠습니다.

 

 

반응형

'DATA' 카테고리의 다른 글

[DATA] ODS란 무엇인가?  (0) 2022.05.08
[ETL][0] ETL이란 무엇인가?  (0) 2021.06.28

댓글