안녕하세요, 수염난아이티 입니다.
이번 페이지에서는 ETL에 대해서 알아보겠습니다.
Extract(추출), Transform(변환), Load(저장) 를 나타내며
기업, 조직, 단체 등에서 데이터를 분석하여 유용하게 사용하기 위해 데이터를 변환하여
특정 저장소(데이터베이스)에 저장하는 방법 입니다.
위 그림처럼 다양한 소스로부터 데이터를 추출하고 데이터를 사용가능할 수 있는 형태로 변환하고
변환된 데이터를 저장하여 최종 사용자가 목적에 맞게 문제를 해결하는데 데이터를 활용하는 일련의 과정 입니다.
주로 ETL은 데이터엔지니어가 수행을 하며 핵심은 데이터엔지니어가 특정 조직이 신뢰할 수 있는 데이터를 만들어 주는 것 입니다.
■ Extract (추출)
소스에서 데이터를 추출하는 것 이며, 소스는 일반적으로 비즈니스 시스템, API, 센서 데이터 등 여러가지 종류로 이루어져 있습니다. 추출은 크게 3가지로 나눌 수 있습니다.
① 부분 추출 (업데이트 미포함)
: 데이터를 얻는 가장 쉬운 방법은 레코드가 변경되면 소스 시스템이 알려주는 것 입니다.
② 부분 추출 (업데이트 포함)
: 소스 시스템에 따라 업데이트가 발생해도 알림을 제공하지 않는 경우가 있습니다.
다만, 변경된 레코드를 지목하여 그러한 레코드의 추출을 제공할 수 있습니다.
③ 전체 추출
: 어느 데이터가 변경되었는지 파악할 수 없는 소스 시스템인 경우 시스템에서 데이터를 추출할 가능성이 있는 유일한 방식은 전체 추출 뿐 입니다. 이 방식을 취하면 마지막 추출의 사본을 같은 형식으로 추출하여 변경 사항을 확인해야 합니다.
■ Transform (변환)
소스에서 추출된 원시 데이터를 변환하여 다양한 애플리케이션에서 사용할 수 있는 형식으로 지정합니다.
이 단계에서는 데이터를 정리, 매핑, 변환(대게 특정 스키마로)하여 운영 요구사항에 부합하도록 설정합니다.
보통은 데이터를 대상 데이터 소스에 바로 로드하는 것이 아니라, 준비(Staging) 데이터베이스에 업로드하는 것이 보편적 입니다. 이 단계를 거치면 혹시나 무언가 계획에서 어긋난다 하더라도 금세 롤백할 수 있습니다.
■ Load (저장)
마지막으로 로드 기능은 변환한 데이터를 특정 대상 데이터베이스에 저장하는 프로세스를 말합니다.
이 데이터베이스는 기존에 존재할 수도 신규일 수도 있습니다. 이 단계는 각각 ETL 툴을 쓰거나 맞춤형 코드를 써서 수행하면 됩니다.
#출처 : https://devkhk.tistory.com/39
'▶IT World◀ > IT Basic' 카테고리의 다른 글
[it용어] 인증/인가 란? (9) | 2024.12.24 |
---|---|
[it용어] FO/BO 란? (2) | 2024.12.24 |
JSON 파일 이란? (3) | 2024.12.11 |
CI/CD 란? (4) | 2024.11.24 |
IT 시스템 아키텍처란? (0) | 2024.11.21 |