본문 바로가기
Back-end/DB

ET(C)L : 데이터 추출, 변환, (정제,) 적재

by somlang_bba 2023. 1. 6.
728x90

ETL은 꽤나 오래전 구현된 기술이지만 특정 상황이 아니면 사용할 이유가 없는 것이 대부분이다.

 

이번에 이직한 회사에서는 여러 시스템에 있는 DB에 접근하여 하나의 표준 DB로 데이터를 몰아 넣고 이를 적절한 형태로 정제하여 API로 데이터를 넘겨주는 업무를 하고 있어서 ETL을 사용할 기회가 있어 공부한 내용을 아는 범위 내에서 적어보려 한다.

 

ETL이란 기능의 앞글자만 딴 줄임말로

E : Extraction (추출)

T : Transformation (변환)

L : Loading (적재)

을 뜻한다.

 

말그대로 원본 DB에 접근하여 데이터를 추출하고 적절한 형태로 변환하여 새로운 DB에 쌓는 기능을 뜻한다.

 

여기에 특정 업무에서는 Cleansing(정제) 과정이 들어간다고 하지만 이번에 맡은 업무에서는 해당 과정은 포함되어 있지 않았다.

 

회사에서는 BTL이라는 솔루션을 이용하여 ETL기능을 사용하고 있었는데, 해당 솔루션을 이용하면 어떤 시스템의 어떤 디비에서 데이터를 꺼내서 표준DB의 어떤 디비에 쌓을지를 GUI를 이용하여 손쉽게 설정할 수 있다.

 

단순화한 ETL 프로세스

위의 그림은 ETL의 프로세스를 단순화한 그림이다. 즉 ETL은 A, B, C 등 서로 다른 시스템에 존재하는 DB에 접근하여 특정 테이블, 특정 컬럼만의 데이터를 뽑아서 내가 구축할 시스템의 디비에 새로운 테이블로 데이터를 이전시키는 것이라고 보면 되겠다. 

 

 

또한 잡, 스케쥴러를 이용하여 사용자가 적은 새벽시간에 데이터를 이동하도록 하여 주말출근, 새벽출근 등을 하지 않아도 되었다.

 

크게 어려운 내용은 아니기 때문에 추출, 변환, 적재라는 개념만 이해하고 인터넷을 조금만 찾아보아도 될 듯하다.

728x90

'Back-end > DB' 카테고리의 다른 글

Redis란 무엇일까  (0) 2021.12.07