ETL은 Extract, Transform, Load 의 앞글자를 딴 용어입니다. 즉 데이터를 추출, 변환, 적재를 한다는 것입니다. 내용은 그렇게 어렵지가 않습니다.

예를 들어, calendar라는 테이블에 년/월/일/시/분/초 형태로 각 컬럼이 존재합니다. 이러한 데이터를 사용하여 통계를 내는 어떤 프로그램을 실행하려고 확인 했더니 해당 프로그램은 년월일/시분초 와 같은 컬럼형태를 요구하고 있을 때 작업을 하는 것을 ETL이라 합니다.

예시

Extract

대상이 되는 calendar 테이블에서 년/월/일/시/분/초 형태의 데이터를 전부 추출합니다.

Transform

추출한 데이터를 요구하는 형태인 년월일/시분초 형태로 변경을 합니다.

Load

변경이 된 데이터를 새로운 테이블에 적재합니다.

요약

간단하게 위와 같은 단계를 거치는 것이 ETL이라 합니다. ETL은 저장된 데이터를 변형하여(요구사항에 맞게) 다른 곳으로 이동하는 것 이라 볼 수 있습니다. 위 예제처럼 컬럼 개수를 변형할 수도 있고 데이터의 형태나 컬럼 개수를 변형하지 않는 작업이 될수도 있습니다. 예를 들어 MSSQL을 사용하다가 PostgreSQL로 데이터를 이전하고 싶을 경우, 데이터의 형태와 컬럼 개수는 유지하면서 테이블의 스키마를 조금 변형하는 작업이 될 수도 있습니다.

'DB' 카테고리의 다른 글

샤딩(sharding), 파티셔닝(partitioning)  (0) 2018.12.23
[DB] ETL이란  (0) 2018.12.22
[DB] CDC란  (0) 2018.12.22
[DB]Connection Pool  (0) 2017.02.11
[SQL] WHERE절에서 IF문처럼 AND 사용  (0) 2017.02.02
[DB] 클러스터  (0) 2016.11.18

+ Random Posts