데이터웨어하우스(DW)
개념- 수년간의 기업의 운영계 시스템에서 발생한 내부 데이터와 외부 데이터를 주제별로 통합하여 별도의 프로그래밍 없이 즉시 여러 각도에서 분석할 수 있도록 하는 통합시스템 - 데이터 웨어하우징(Data Warehousing)은 데이터의 수집 및 처리에서 도출되는 정보의 활용에 이르는 일련의 프로세스
I. 데이터웨어하우스의 개요
가. DW(Data Warehouse)의 정의
- 수년간의 기업의 운영계 시스템에서 발생한 내부 데이터와 외부 데이터를 주제별로 통합하여 별도의 프로그래밍 없이 즉시 여러 각도에서 분석할 수 있도록 하는 통합시스템
- 데이터 웨어하우징(Data Warehousing)은 데이터의 수집 및 처리에서 도출되는 정보의 활용에 이르는 일련의 프로세스
나. DW(Data Warehouse)의 필요성
- 판매자 중심에서 구매자 중심으로 비즈니스 시장변화의 급속한 변화
- 신속하고 정확한 의사결정이 기업의 생존 직결됨.
다. DW(Data Warehouse)의 특징
| 특징 | 설명 |
| 주제지향적 (Subject – Oriented) |
- 업무기능별로 관리되는 다수의 운영계 데이터를 전사관점에서 중복을 최소화 하고, 모든 업무에 공유 할 수 있도록 통합하는 기준 - 전사공통 관심 주제를 중심으로 관련데이터 통합 ( 데이터가 조직의 Business 주제에 따라 분류되어지고 저장됨 ) - 특정 업무기능이나 어플리케이션에 종속되지 않는 데이터 구조 |
| 통합적 (Integrated) |
- 데이터의 정합성과 물리적 통일성을 갖는 데이터 구조 - 데이터 모델링을 통해 데이터 정합성 보장 - 전사적인 데이터 표준화를 통해 데이터 통일성 확보 - 운영계로부터 데이터 획득 시 데이터 통합을 위한 일련의 변환작업 수행 |
| 시계열적 (Time-Variant) |
- 데이터는 오랜 기간 동안 보유 되며, 과거와 현재의 경향에 대한 분석, 예측에 무엇을 해야 하는지 가능하게 일련의 Snapshots 형태로 저장 함 - 일정 기간동안의 업무변화 내지는 발전추세 분석에 필요 - 이력데이터를 통해 시간경과에 따른 데이터의 변화과정 파악 가능, Snapshot 생성 |
| 비 휘발성 | - 데이터웨어하우스에는 일반적으로 데이터 갱신 프로세스가 존재하지 않음 - 일상적으로 데이터적재와 데이터 엑세스만 존재 - 운영계에서 발생한 변경요건을 갱신하지 않고 Snapshot 형태로 반영 |
Ⅱ. 데이터웨어하우스의 개념도와 구성요소
가. 데이터웨어 하우스의 개념도

나. 데이터웨어 하우스의 구성요소
| 구성요소 | 설명 |
| ETT | 소스 데이터로부터 필요 데이터를 검색, 추출, 변환하여 목표 데이터베이스환경으로 전달하는 과정 |
| DOS (Operational Data Store) |
운영계 시스템별로 관리되는 데이터를 전사관점에서 통합 관리함으로써, 전사데이터공유를 가능하게 하여주는 통합데이터베이스 |
| DM (Data Mart) |
의사결정 프로세스 지원을 목적으로 하는 부서별 또는 업무기능별 DW - 부서의 분석수행에 가장 적합한 데이터구조 - EDW로 부터 필요한 데이터 획득 - 일반적으로 한 기업 내에 복수개의 DM 존재 |
| OLAP (Online Analyticla Processing) |
EDW와 DM의 데이터를 사용자의 요건에 따라 다각적으로 분석하고 활용할 수 있도록 지원하는 도구 - 사용자가 도구를 이용하여 프로그래머의 지원 없이도 의사결정 및 분석업무에 필요한 정보를 스스로 얻을 수 있음 |
| 메타데이터 | 데이터의 사용성과 관리효율성 향상을 위한 데이터에 관한 데이터 DW 아키텍쳐 구성 요소간의 결합력(Cohesiveness)을 유지시켜주는 매개체 |
다. 데이터웨어 하우스의 구축절차

II. 데이터웨어하우스의 4가지 특징
가. 주제지향적
- Data Warehouse는 의사 결정에 필요한 특정 주제(subject)의 데이터만을 가지며 그 외의 데이터는 포함하지 않음
- <적용사례 >
- 운영계 시스템의 생산, 영업, 구매 테이블에 제품, 거래처, 고객 등의 중복되는 데이터를 Data Warehouse 는 하나의 주제 영역으로 분리하여 데이터를 관리함

나. 주제지향적
- Data Warehouse에 저장, 관리되는 데이터는 일반적으로 다수의 서로 다른 형태의 데이터베이스로부터 통합(integrated)된 것
- <적용사례>
- 운영계 시스템의 데이터 성별이 남자/여자 또는 M/F등 정보마다 각기 다르고, 날짜 형식 또한 다양하여 통일된 형식으로 변환시켜 Data Warehouse에 적재시킴

다. 비휘발성
- Data Warehouse의 데이터는 운영계 데이터 베이스로부터 로딩하고 액세스 하기 때문에 삭제 및 수정이 불가능 즉, 한 시점에서 다량의 Data가 적재되고 Access 되는 반면 갱신은 이루어 지지 않는 조회 전용 Database
- <적용사례>
- 운영계 시스템 데이터는 Update 가 일어나면 기존 데이터는 지워지지만, Data Warehouse에서는 각 시점에 있던 데이터를 모두 저장함

라. 시계열성
- Data Warehouse는 시간에 따라 변화된 데이터 정보를 통해 의사결정을 하기 때문에 일정기간 동안의 데이터를 저장하여 시점에 따른 분석을 가능하게 함
- <적용사례>
- 매년 판매실적을 집계하고 계획하기 위해 1년 주기로 데이터를 추출하여 Data Warehouse 에 적재시킴

[DW 2.0]
I. 데이터웨어하우스 2.0의 개념 및 특징
가. 데이터웨어하우스 2.0의 개념
- 대규모 정형, 비정형 데이터에 대한 실시간 처리와 최신 기술에 대한 수용력, 경제성을 추구하는 차세대 데이터웨어하우스 아키텍처
- 비즈니스 요구사항 변화에 맞춰 쉽게 변경 가능한 역동성을 갖는 데이터웨어하우스의 새로운 패러다임
나. 데이터웨어하우스 2.0의 특징
- 데이터의 생명주기: 데이터의 생명주기를 인식하고 활용도에 따라 분리하여 저장(성능/경제성 향상)
- 메타데이터 기반: 규모의 복잡성, 유지보수 관리 필요성으로 인해 메타데이터 중요성 부각
- 비정형데이터 포함: 비정형 데이터의 통합과 접근, 분석 지원을 추구함
- 대용량 데이터 대응: 비정형 환경의 데이터 증가속도 급증(정형의 4~5배)에 대한 경제적 대응
- 비즈니스 변화에 유연: 쉽고 변경 가능한 역동적 기반기술을 활용
II. 데이터웨어하우스 2.0 아키텍처 설명
가. 데이터웨어하우스 2.0 아키텍처의 구성

나. 데이터웨어하우스 4대영역 설명
- 데이터에 대한 접근 패턴, 데이터의 양에 따라 4대영역으로 분리하여 비용과 성능문제 해결
| 영역 | 설명 | 트랜잭션 |
| Interactive Sector |
- 응용프로그램의 트랜잭션, ETL을 통해 데이터가 들어오는 장소 - 다른 영역에 비해 소량의 데이터가 항상 디스크에 저장되는 영역으로 실시간 상호작용이 가능함 |
추가, 삭제,조정 등 업데이트 가능 |
| Integrated Sector |
- 상호작용 영역의 데이터가 ETL 계층을 통과하여 통합되는 영역 - 통합영역의 데이터는 주제지향 상세데이터, 소규모의 요약 데이터, 연속적인 시간데이터, 프로파일 데이터(한 주제에 대한 취합 정보)의 특징을 가짐(분석 용이) - 통합영역의 데이터는 균일하고 역사적이며 광범위한 소스로부터 취합 되므로 많은 양의 데이터를 보유하고 있음 |
조회만 가능 |
| Near Line Sector |
- 통합영역의 디스크 저장장치보다 저렴한 카트리지를 이용하여 통합 영역의 데이터 중 접근확률이 낮은 데이터를 저장하는 영역 - 통합 영역을 위한 캐시 메모리로서의 역할을 수행하는 영역 - 준보관 영역의 데이터 중 자주 사용되는 데이터는 통합영역으로 이동 (준보관, 통합영역의 데이터 구조, 형식, 기술은 동일) |
조회만 가능 |
| Archival Sector |
- 데이터의 접근 확률이 매우 적을 때 데이터가 이동되는 장소 - 아카이브 영역의 데이터는 순차적으로 검색되고 많은 데이터가 존재 |
거의 조회되지 않음 |
III. 데이터웨어하우스 2.0에서 메타데이터의 역할
가. 데이터웨어하우스 2.0에서 메타데이터의 부각 배경
| - 크기의 다양성 | DW의 규모와 복잡성 증대로 필요한 정보 검색의 어려움 발생 |
| - 더욱 다양한 사용자 | DW 전문 분석가, 초보 사용자 등 다양한 계층의 사용자가 접근 |
| - 광범위한 메타데이터 범위 | 어디에 어떤 데이터가, 어떤 형태로 있는지 유용한 분석정보 제공 |
| - 유지보수 관리 필요성 | 메타데이터의 효율적 관리를 통해 DW 유지보수성 향상 |
- 위와 같은 이유로 메타데이터가 존재하지 않거나 나중에 구축되는 1세대 DW와 달리, DW 2.0에서 메타데이터가 핵심 지지대 중의 하나로 부각됨
나. 수준별 분류에 따른 메타데이터의 역할
| 영역 | 설명 | 역할 |
| 기업 메타데이터 |
- 전사적(마스터) 메타데이터 - 모든 툴과 프로세스에 존재 - 용어가 일관되고 공통 용어로 기술 |
- 기업 수준과 로컬과의 관계성 조사 - 비즈니스 영역 지원 데이터 식별 - 기업 수준에서 용어/단어를 통합(표준화) |
| 로컬 메타데이터 |
- 사용의 중심점인 툴에 저장 - 사용되는 툴에 종속적인 관계 |
- 데이터의 소스에서 타켓 이동/변환 정보 제공 - DBMS 테이블, 속성, 인덱스 정보 제공 |
| 비즈니스 메타데이터 |
- 비즈니스 상의 전문용어로 기술 - 실제 기업의 업무에 적합 |
- 업무 의사소통, 이해 용이, 용어 표준화 - 정보에 대한 감사 추적 |
| 테크니컬 메타데이터 |
- 기술자들 간의 전문용어로 기술 - 어플리케이션 운용자에 필요 |
- 기술관련 의사소통, 이해 용이, 용어 표준화 - DW 2.0 어플리케이션 개발, 유지보수 향상 |
다. 사용자 관점별 메타데이터의 역할
| 관점 | 역할 |
| 전문 분석가 |
- 어떤 데이터가 가용한지를 판단하고 데이터에 접근할 수 있도록 가이드 하여 새로운 분석 요구사항을 발견하는데 도움 |
| 최종 사용자 |
- 이미 수행된 분석 결과가 있는지를 판단하여 효율적 검색 지원 - 데이터 및 관계에 대한 가이드로 데이터 재사용성 향상 |
| 개발자 | - 과거에 수행한 개발 업무에 대한 정보 제공 - 신규 데이터웨어하우스 2.0 어플리케이션 개발 가이드, 용어 표준화 |
| 운영자 | - 데이터웨어하우스의 이슈의 체계적 처리, 운용 지원 - 현재 데이터에 대한 설명, 데이터 소스 식별에 도움 |
IV. 성공적인 DW 2.0 구축 방법 및 접근법
가. 성공적인 DW 2.0 구축 방법
- 나선형방법론 적용: 데이터웨어하우스 프로젝트가 수행되는 동안 모든 비즈니스 요구사항을 취합하는 것은 불가능, 팀 조직화에 세심한 주의를 기울이며 반복적으로 구축
- ROI가 아닌 ROA(Return On Asset) 측정: 데이터가 재사용 되었는가, 메타데이터가 재사용 되었는가, 구조적 비즈니스 규칙이 재사용 되었는가, ETL 로직이 재사용 가능하고 확장 가능한가에 초점
나. DW 2.0에 대한 효율적인 7가지 접근법
- 기업 데이터 모델링은 주제영역별로 수행
- 전사 지식 조정/결합은 결과물 별로 수행
- 정보공장(DW 2.0) 개발은 나선형 방법론으로 개발
- 데이터 프로파일링과 매핑은 소스별로 수행
- 데이터 수집과 정제는 속성별로 수행 – 예) 남녀의 유효한 값을 가지는 속성 “성별”
- 시스템 인프라 관리는 컴포넌트 별로 수행
- 통합 정보 품질 관리는 프로세스 개선 및 오류방지를 위해 프로세스별로 수행
출처: http://www.jidum.com/jidums/view.do?jidumId=680
ETT
태그 :
I. DW의 지속적 사용성 보장, ETT 의 개요
가. ETT(Extraction, Transformation, Transportation)의 개념
- 데이터를 소스 시스템에서 추출하여 정제/변환 후 DW에 적재 작업까지의 전 과정
- DW 아키텍처 구성 요소간의 데이터 일관성과 통합성을 유지시키는 역할 수행
- ETL(Extraction, Transformation, Loading)이라고도 함
- DW 구축 노력(기간, 인력, 비용)의 80% 이상을 차지
- ETT 의 방법은 소스시스템의 종류, 데이터의 추출주기, 데이터의 양, 로드 속도, 소스데이터의 질, 과거 데이터의 형식, 사용자의 요구조건, 소스시스템의 역할 등에 따라서 달라짐

나. 데이터의 추출(Extraction), 가공(Transformation), 전송(Transportation) 의미
| 구분 | 의미 |
| 데이터의 추출 (Extraction) | - 원본 파일과 트랜잭션 데이터베이스로부터 DW 에 저장될 데이터를 추출하는 과정 임. - 초기 추출은 DW에 처음 데이터를 입력할 때 사용됨. - 주기적 추출은 DW 가 가동된 후 일 단위 또는 월 단위의 주기적인 유지보수에 사용됨. - 주기적 추출의 일반적인 방법은 데이터베이스 로그 파일에서 최근 변화를 기록한 사후 이미지 (After Images)를 추출 |
| 데이터의 가공(Transformation) | - 질적으로 문제가 있는 데이터를 데이터 정제(Cleansing) 기법을 통해 수정한 후에 사용 - 데이터의 품질을 높일 수 있는 가장 핵심적인 단계 - 필드 수준의 가공과 레코드 수준의 가공이 존재 - 필드 수준의 가공은 원본 필드의 형태를 DW 의 형태에 맞게 변형하는 것을 의미 - 레코드 수준의 가공은 선택(Selection), 결합(Join), 집단화(Aggregation) 기능을 이용하여 레코드 집합을 조작 |
| 데이터의 전송 (Transportation) | - 선택된 데이터를 DW 에 전송하여 저장하고, 필요한 색인을 만드는 것 - 전체 갱신 방법과 부분 갱신 방법 - DW 의 색인을 만들기 위해 비트맵 색인(Bitmapped Index) 방식을 사용 |
II. ETT 작업 절차
가. ETT의 작업 절차 개념도

나. ETT의 처리단계 설명
| ETT 의 기능 | 설명 |
| 데이터 확인 | - 소스 데이터에서 어떤 데이터를 추출할지 확인 - 유사한 여러 필드가 있는 경우에는 그 중 가장 신뢰할 만 하거나 기준으로 삼을 필드를 정함 |
| 데이터 추출 | - 실제로 소스 데이터에서 필요한 데이터를 추출함 |
| 데이터 정제 | - 데이터 품질을 높이기 위한 작업 - 겹치는 필드를 조정하고, 오류의 가능성이 있는 데이터를 기준 데이터나 비즈니스 규칙에 의거하여 정리 |
| 데이터 변환 | - 추출되고 정리된 데이터를 타겟 데이터 형식에 맞게 변환 - 비즈니스적인 의미를 부여하기 위한 메타데이터 정의/정리 작업 등의 표준화 작업 선결 수행 |
| 데이터 통합(전송) | - 다양한 소스 데이터들을 단일한 데이터로 의미를 가질 수 있도록 통합하여 DW로 통합 적재(전송) |
III. ETT 특징 및 형태
가. ETT 의 특징
- Data Warehouse 구축에 생명 역할
- 사실 테이블과 요약 테이블을 소스 시스템에서 생성
- ETT 는 정확성과 신속성을 명제로 함
- 소스 시스템에서 특정한 데이터가 바뀌면 로그 파일을 만들고, DW 에서 주기적으로 데이터를 가져옴
나. ETT 의 형태
| 구분 | 내용 |
| Off-Line 방식 | 메일 또는 배달, 소스시스템에서 데이터를 SAM파일로 만들어서 Data Warehouse로 방식 |
| On-Line 방식 | 소스시스템 DB와 D/W DB를 직접 연결하여 직접 로딩 방식 |
| Semi-Online 방식 | 처리계 시스템내에 사용자 로그를 만들어 Data Warehouse 서버가 이 로그 파일을 주기적으로 읽어 가져오는 방식 |
IV. ETT 아키텍처
가. 운영시스템 중심
- 운영시스템에 부하를 주는 단점이 있으므로 운영 시스템에 대한 충분한 batch 작업 시간이 확보 가능한지 확인하여야 함.
- 운영계 시스템과 DW 서버간에 꼭 필요한 데이터만 전송되므로 네트워크 부하를 줄일 수 있는 장점이 있음.
- DW 서버에 대한 부하를 최소화하는 아키텍처이므로 다수의 운영시스템으로부터의 통합을 필요로 하는 경우 DW 서버에서의 병목 현상을 최소화할 수 있음.

나. DW 서버 중심
- 운영시스템에 대한 부하가 크고 운영시스템에서 충분한 batch 작업 시간 확보가 어려운 경우(예 : 24 시간 운영되는 웹사이트) 가능한 아키텍처임.
- 운영시스템에서 거의 처리되지 않은 데이터가 DW 서버로 전송되어야 하므로 네트워크 부하가 있을 수 있음.
- DW 서버에 대한 부하가 크므로 다수의 운영시스템으로부터의 통합을 필요로 하는 경우 DW 서버에 대한 충분한 batch 작업시간이 확보되어야 함.

다. 별도 ETL 서버중심
- 운영시스템에 대한 부하와 DW 서버에 대한 부하를 최소화하는 아키텍처임.
- ETL 을 위한 별도의 서버를 구입해야 하는 부담이 있음.
- 다수의 운영시스템과 다수의 데이터 마트가 있는 경우 ETL 도구를 다수의 서버에 설치할 필요가 없음.

V. EII와 ETT의 비교(기출문제)
가. 데이터통합 기술 EII 와 ETL의 개념
| 용어 | 기 본 개 념 | 핵심 |
| EII | - 데이터의 원위치를 유지한 상태로 통합하고 필요에 따라 데이터에 접근하는 데이터 통합의 한 형태를 의미 - 데이터 페더레이션 또는 EII 테크닉은 다이내믹한 성격을 가지며 대량의 데이터 접근 또는 다수 시스템의 동시 접근이 필요하지 않은 환경에서 잠재적인 문제를 해결하기 위한 방법으로 활용됨 |
원위치 유지 |
| ETL | - 기존의 다양한 시스템과 파일에 저장된 데이터를 하나의 데이 웨어하우스로 통합하기 위해 데이터를 추출,가공, 전송하는 일련의 과정을 통칭 | 추출,가공,전송 |
나. EII와 ETL 비교
| 용어 | EII | ETL |
| 개념도 | ![]() |
![]() |
| 데이터 저장소 |
- 데이터 저장공간 (Virtual Data Store) | - 실질적인 저장공간 확보 |
| 접근 | - 물리적인 저장소 상관없이 하나의 데이터베이스처럼 접근 | - 한군데 집약된 데이터베이스에 접근 |
| 데이터 형식 |
- 정형/비정형 모두 사용가능 | - 정형 타입 사용가능 |
| 데이터 수정 |
- 원천데이터 수정 가능(양방향) | - 원천데이터 수정 불가능(단방향, Read Only) |
| 데이터 특징 |
- 실시간(Real Time) 접근가능 | - 배치(Batch) 접근가능 |
| 핵심기술 | - 데이터 페더레이션 기술 : Connectivity, Federated and Distributed Query Engine, Cache, Consumption, Metadata Repository로 구성되며, 이 중에서 Federated and Distributed Query Engine이 솔루션의 핵심 - Federated and Distributed Query Engine 계층 : EII 기술의 핵심 영역으로서 쿼리를 분해하여 원천 소스에 서브 쿼리를 수행하는 역할을 수행하고 각각의 쿼리 결과는 메모리에 저장되며, 여기에서 조인이나 매핑 작업을 통해 전체 뷰가 만들어짐 |
- 데이터 추출기술 : 원본 파일과 트랜잭션 데이터베이스로부터 데이 웨어하우스에 저장될 데이터를 추출 하는 과정 - 데이터 변환기술 : 질적으로 문제가 있는 데이터를 데이터 정제 (Cleansing) 기술 - 데이터 적재기술 : 선택된 데이터를 데이터웨어하우스에 전송하여 저장하고, 필요한 색인생성 |
출처: http://www.jidum.com/jidums/view.do?jidumId=691
지식덤프
핵심기술 - 데이터 페더레이션 기술 : Connectivity, Federated and Distributed Query Engine, Cache, Consumption, Metadata Repository로 구성되며, 이 중에서 Federated and Distributed Query Engine이 솔루션의 핵심 - Federated and Dis
www.jidum.com
ETL이 중요한 이유는 무엇인가요?
오늘날 조직은 다음과 같은 다양한 소스의 정형 데이터와 비정형 데이터를 모두 보유하고 있습니다.
- 온라인 결제 및 고객 관계 관리(CRM) 시스템의 고객 데이터
- 공급업체 시스템의 재고 및 운영 데이터
- 사물 인터넷(IoT) 디바이스의 센서 데이터
- 소셜 미디어 및 고객 피드백의 마케팅 데이터
- 내부 HR 시스템의 직원 데이터
추출, 전환, 적재(ETL) 프로세스를 적용하여 개별 원시 데이터 세트를 분석용으로 적합하도록 보다 소비하기 쉬운 형식과 구조로 준비할 수 있습니다. 그리고 이를 통해 보다 의미 있는 인사이트를 얻을 수 있습니다. 예를 들어 온라인 소매업체는 POS의 데이터를 분석하여 수요를 예측하고 재고를 관리할 수 있습니다. 마케팅 팀은 CRM 데이터와 소셜 미디어의 고객 피드백을 통합하여 소비자 행동을 연구할 수 있습니다.
ETL은 비즈니스 인텔리전스에 어떤 이점을 제공하나요?
추출, 전환, 적재(ETL)는 더 신뢰할 수 있고 정확하고 자세하며 효율적인 프로세스를 통해 비즈니스 인텔리전스와 분석을 개선합니다.
기록 컨텍스트
ETL은 조직의 데이터에 대한 심층적인 기록 컨텍스트를 제공합니다. 기업은 기존 데이터와 새로운 플랫폼 및 애플리케이션의 데이터를 결합할 수 있습니다. 오래된 데이터 세트를 보다 최신 정보와 함께 볼 수 있으므로, 데이터를 장기적으로 파악할 수 있습니다.
통합 데이터 보기
ETL은 심층 분석과 보고를 위한 통합 데이터 보기를 제공합니다. 여러 데이터 세트를 관리하려면 시간과 조율이 필요하며 비효율성과 지연이 발생할 수 있습니다. ETL은 데이터베이스와 다양한 형태의 데이터를 하나의 통합된 보기로 결합합니다. 데이터 통합 프로세스는 데이터 품질을 개선하고 데이터를 이동, 분류 또는 표준화하는 데 필요한 시간을 줄여줍니다. 따라서 대규모 데이터 세트를 더 쉽게 분석하고 시각화하고 이해할 수 있습니다.
정확한 데이터 분석
ETL은 보다 정확한 데이터 분석을 통해 규정과 규제 표준을 충족합니다. ETL 도구를 데이터 품질 도구와 통합하여 데이터를 프로파일링, 감사 및 정리함으로써 데이터의 신뢰성을 보장할 수 있습니다.
작업 자동화
ETL은 효율적인 분석을 위해 반복적인 데이터 처리 작업을 자동화합니다. ETL 도구는 데이터 마이그레이션 프로세스를 자동화하며, 주기적으로 또는 런타임에 데이터 변경 사항을 통합하도록 설정할 수 있습니다. 따라서 데이터 엔지니어가 데이터 이동 및 포맷과 같은 번거로운 작업을 관리하는 데 시간을 허비하지 않고 혁신 작업에 더 많은 시간을 할애할 수 있습니다.
ETL은 어떻게 발전했나요?
추출, 전환, 적재(ETL)은 분석을 위한 테이블의 형태로 데이터를 저장하는 관계형 데이터베이스의 출현과 함께 시작되었습니다. 초기의 ETL 도구는 분석을 위해 데이터를 트랜잭션 데이터 형식에서 관계형 데이터 형식으로 변환했습니다.
기존 ETL
원시 데이터는 많은 읽기 및 쓰기 요청을 지원하지만 분석에는 적합하지 않은 트랜잭션 데이터베이스에 주로 저장되었습니다. 스프레드시트의 행을 떠올리면 됩니다. 예를 들어 전자 상거래 시스템에서 트랜잭션 데이터베이스는 구매한 품목, 고객 세부 정보 및 주문 세부 정보를 단일 트랜잭션에 저장합니다. 한 해 동안 여러 품목을 구매한 동일한 고객에 대한 반복적인 항목이 포함된 긴 거래 목록이 만들어졌습니다. 데이터 중복을 고려하면, 그 해에 가장 인기 있는 품목을 분석하거나 구매 동향을 파악하기가 어려워졌다고 할 수 있습니다.
이 문제를 극복하기 위해 ETL 도구는 이 트랜잭션 데이터를 상호 연결된 테이블이 있는 관계형 데이터로 자동으로 변환했습니다. 분석가는 쿼리를 사용하여 패턴과 동향뿐만 아니라 테이블 간의 관계도 식별할 수 있습니다.
현대적 ETL
ETL 기술이 발전하면서 데이터 유형과 데이터 소스가 기하급수적으로 증가했습니다. 그리고 방대한 데이터베이스(데이터 싱크라고도 함)를 구축하기 위한 클라우드 기술이 등장했습니다. 이 같은 데이터 싱크는 여러 소스로부터 데이터를 수신할 수 있으며, 시간이 지남에 따라 확장할 수 있는 기반 하드웨어 리소스를 사용할 수 있습니다. 또한 ETL 도구는 더욱 정교해졌으며 현대적 데이터 싱크에도 사용할 수 있습니다. 기존 데이터 형식에서 현대적 데이터 형식으로 데이터를 변환할 수 있습니다. 다음은 현대적 데이터베이스의 예입니다.
데이터 웨어하우스
데이터 웨어하우스는 여러 데이터베이스를 저장할 수 있는 중앙 리포지토리입니다. 각 데이터베이스 내에서는 테이블과 테이블의 데이터 유형을 설명하는 열로 데이터를 구성할 수 있습니다. 데이터 웨어하우스 소프트웨어는 SSD, 하드 드라이브 및 기타 클라우드 스토리지와 같은 다양한 유형의 스토리지 하드웨어에서 작동하여 데이터 처리를 최적화합니다.
데이터 레이크
데이터 레이크를 사용하면 모든 규모의 정형 및 비정형 데이터를 단일 중앙 집중식 리포지토리에 저장할 수 있습니다. 향후 발생할 수 있는 질문에 따라 데이터를 먼저 구조화할 필요 없이, 그대로 저장할 수 있습니다. 또한 데이터 레이크를 사용하면 SQL 쿼리, 빅 데이터 분석, 전체 텍스트 검색, 실시간 분석, 기계 학습(ML) 등 다양한 유형의 분석을 실행하여 보다 나은 의사 결정을 내릴 수 있습니다.
ETL은 어떻게 작동하나요?
추출, 전환, 적재(ETL)는 데이터를 소스 시스템에서 대상 시스템으로 정기적으로 이동하는 방식으로 작동합니다. ETL 프로세스는 다음 세 단계로 작동합니다.
- 소스 데이터베이스에서 관련 데이터 추출
- 분석에 더 적합한 형식으로 데이터 변환
- 데이터를 대상 데이터베이스에 로드

테이블 추출이란 무엇인가요?
데이터 추출 프로세스에서 추출, 전환, 적재(ETL) 도구는 여러 소스에서 원시 데이터를 추출하거나 복사하여 스테이징 영역에 저장합니다. 스테이징 영역(또는 랜딩 존)은 추출된 데이터를 일시적으로 저장하기 위한 중간 저장 영역입니다. 데이터 스테이징 영역은 일시적인 경우가 많습니다. 즉, 데이터 추출이 완료되면 콘텐츠가 지워집니다. 하지만 스테이징 영역에는 문제 해결을 위한 데이터 아카이브가 유지될 수도 있습니다.
시스템이 데이터 소스에서 대상 데이터 스토어로 데이터를 전송하는 빈도는 기반 변경 데이터 캡처 메커니즘에 따라 다릅니다. 데이터 추출은 일반적으로 다음 세 가지 방법 중 하나로 수행됩니다.
업데이트 알림
업데이트 알림에서 소스 시스템은 데이터 레코드가 변경되면 사용자에게 알립니다. 그러면 해당 변경 사항에 대해 추출 프로세스를 실행할 수 있습니다. 대부분의 데이터베이스 및 웹 애플리케이션은 이 데이터 통합 방법을 지원하는 업데이트 메커니즘을 제공합니다.
증분 추출
일부 데이터 소스는 업데이트 알림을 제공할 수 없지만, 일정 기간 동안 수정된 데이터를 식별하고 추출할 수 있습니다. 이 경우 시스템은 일주일에 한 번, 한 달에 한 번 또는 캠페인 종료 시와 같은 주기적인 간격으로 변경 사항을 확인합니다. 따라서 변경된 데이터만 추출하면 됩니다.
전체 추출
일부 시스템에서는 데이터 변경 사항을 식별하거나 알림을 제공할 수 없으므로, 모든 데이터를 다시 로드하는 것이 유일한 옵션이 됩니다. 이 추출 방식을 사용하려면 마지막 추출의 복사본을 보관하여 새 레코드를 확인해야 합니다. 이 방식은 데이터 전송량이 많으므로 크기가 작은 테이블에만 사용하는 것이 좋습니다.
데이터 변환이란 무엇인가요?
데이터 변환에서 추출, 전환, 적재(ETL) 도구는 준비 영역의 원시 데이터를 변환하고 통합하여 대상 데이터 웨어하우스에 대비합니다. 데이터 변환 단계에는 다음과 같은 유형의 데이터 변경이 포함될 수 있습니다.
기본 데이터 변환
기본 변환은 오류를 제거하거나 데이터 필드를 비우거나 데이터를 단순화하여 데이터의 품질을 높입니다. 이러한 변환의 예는 다음과 같습니다.
데이터 정리
데이터 정리는 오류를 제거하고 소스 데이터를 대상 데이터 형식에 매핑합니다. 예를 들어 빈 데이터 필드를 숫자 0에 매핑하거나, 데이터 값 ‘Parent’를 ‘P’에 매핑하거나, ‘Child’를 ‘C’에 매핑할 수 있습니다.
데이터 중복 제거
데이터 정리의 중복 제거 기능은 중복 레코드를 식별하고 제거합니다.
데이터 형식 수정
형식 수정은 문자 집합, 측정 단위 및 날짜/시간 값과 같은 데이터를 일관된 형식으로 변환합니다. 일례로, 한 식품 회사는 재료를 각각 킬로그램과 파운드로 계량하는 서로 다른 레시피 데이터베이스를 가지고 있습니다. 이 경우 ETL은 모든 단위를 파운드로 변환합니다.
고급 데이터 변환
고급 변환은 데이터를 보다 쉽게 분석할 수 있도록 비즈니스 규칙을 사용하여 데이터를 최적화합니다. 이러한 변환의 예는 다음과 같습니다.
파생
파생은 데이터에 비즈니스 규칙을 적용하여 기존 값에서 새로운 값을 계산합니다. 예를 들어 비용을 빼거나 각 품목의 가격에 주문 품목 수를 곱하여 총 구매 비용을 계산함으로써 매출에서 수익을 구할 수 있습니다.
결합
데이터 준비 과정에서 결합은 서로 다른 데이터 소스의 동일한 데이터를 연결하는 것을 말합니다. 예를 들어 여러 공급업체의 구매 가격을 더하고 최종 합계만 대상 시스템에 저장하면 특정 품목의 총 구매 비용을 구할 수 있습니다.
분할
열 또는 데이터 속성을 대상 시스템에서 여러 열로 나눌 수 있습니다. 예를 들어 데이터 소스에 고객 이름이 ‘Jane John Doe’로 저장되어 있으면, 이를 이름, 중간 이름, 성으로 나눌 수 있습니다.
요약
요약은 많은 데이터 값을 더 작은 데이터 세트로 줄임으로써 데이터 품질을 높입니다. 예를 들어 고객 주문 송장 값에는 여러 개의 작은 금액이 포함될 수 있습니다. 일정 기간에 걸쳐 데이터를 합산하는 방법으로, 고객 평생 가치(CLV) 지표를 만들어 데이터를 요약할 수 있습니다.
암호화
대상 데이터베이스로 데이터를 스트리밍하기 전에 암호화를 추가하여 중요한 데이터를 보호함으로써 데이터 관련 법률 또는 데이터 프라이버시를 준수할 수 있습니다.
데이터 로딩이란 무엇인가요?
추출, 전환, 적재(ETL) 도구는 데이터 로드 시에 변환된 데이터를 스테이징 영역에서 대상 데이터 웨어하우스로 이동합니다. ETL을 사용하는 대부분의 조직에서는 프로세스가 자동화되고 잘 정의되어 있으며 배치 방식으로 연속적으로 수행됩니다. 데이터를 로드하는 두 가지 방법은 다음과 같습니다.
전체 로드
전체 로드에서는 소스의 전체 데이터가 변환되어 데이터 웨어하우스로 이동합니다. 일반적으로 전체 로드는 소스 시스템에서 데이터 웨어하우스로 데이터를 처음 로드할 때 발생합니다.
증분 로드
증분 로드에서는 ETL 도구가 대상 시스템과 소스 시스템 간의 델타(또는 차이)를 일정한 간격으로 로드합니다. 마지막 추출 날짜가 저장되어, 이 날짜 이후에 추가된 레코드만 로드됩니다. 증분 로드를 구현하는 방법은 두 가지가 있습니다.
스트리밍 증분 로드
데이터 볼륨이 작은 경우 데이터 파이프라인을 통해 지속적인 변경 사항을 대상 데이터 웨어하우스로 스트리밍할 수 있습니다. 데이터 속도가 초당 수백만 개의 이벤트로 증가하면 이벤트 스트림 처리를 사용하여 데이터 스트림을 모니터링하고 처리하여 보다 신속하게 의사 결정을 내릴 수 있습니다.
배치 증분 로드
데이터 볼륨이 큰 경우 로드 데이터 변경 사항을 주기적으로 배치 단위로 수집할 수 있습니다. 설정된 시간 동안 데이터가 동기화되면 소스 또는 대상 시스템에서 어떤 작업도 수행할 수 없습니다.
ELT란 무엇인가요?
추출, 적재, 전환(ELT)은 작업의 순서를 역순으로 바꾸는 추출, 전환, 적재(ETL)의 확장 기능입니다. 데이터를 처리하기 전에 대상 시스템에 직접 데이터를 로드할 수 있습니다. 대상 데이터 웨어하우스 내에 데이터 매핑 기능이 있으므로, 중간 스테이징 영역은 필요하지 않습니다. ELT은 대상 데이터베이스에 변환에 필요한 처리 능력을 제공하는 클라우드 인프라의 도입과 함께 더욱 인기를 끌게 되었습니다.
ELT와 비교한 ETL
ELT는 빈번하게 로드해야 하는 대량의 비정형 데이터 세트에 적합합니다. 또한 데이터 추출 및 저장 후 분석을 위한 계획을 수립할 수 있으므로 빅 데이터에도 이상적입니다. 대량의 변환 작업은 분석 단계에서 수행하도록 남겨두고, 최소한으로만 처리한 원시 데이터를 데이터 웨어하우스에 로드하는 데 초점을 맞춥니다.
ETL 프로세스에는 처음에 더 많은 정의가 필요합니다. 대상 데이터 유형, 구조 및 관계를 정의하려면 처음부터 분석이 실행되어야 합니다. 데이터 사이언티스트는 주로 ETL을 사용하여 레거시 데이터베이스를 웨어하우스에 로드하며, ELT는 오늘날 표준이 되었습니다.
데이터 가상화란 무엇인가요?
데이터 가상화는 데이터를 물리적으로 추출, 변환 또는 로드하지 않고 소프트웨어 추상화 계층을 사용하여 통합 데이터 보기를 생성합니다. 조직에서는 소스 및 타겟용으로 별도의 플랫폼을 구축하고 관리하는 데 따른 비용과 복잡성 없이, 이 기능을 가상 통합 데이터 리포지토리로 사용합니다. 데이터 가상화는 추출, 전환, 적재(ETL)와 함께 사용할 수 있지만, 갈수록 ETL 및 기타 물리적 데이터 통합 방식의 대안으로 인식되고 있습니다. 예를 들어 AWS Glue Elastic Views를 사용하여 여러 소스 데이터 스토어에서 가상 테이블(구체화된 뷰)을 신속하게 생성할 수 있습니다.
ETL이란?
ETL은 추출(Extract)-변환(Transform)-적재(Load)의 약자로 다양한 소스에서 데이터를 가져와서(추출) 사용할 수 있는 형식으로 변환(변환)한 후 데이터 베이스 또는 데이터 웨어하우스에 저장하는(적재)과정을 말합니다. 마트에서 여러 재료를 사 와서 다듬고 냄비나 팬에 올리는 과정을 생각하시면 이해가 쉬우실 거에요!
ETL은 기업이 다양한 소스의 구조화된 데이터와 구조화되지 않은 데이터를 비롯한 전체 데이터를 실질적으로 유용한 상태로 변환하는 과정입니다. 예를 들어 재무, 마케팅, 세일즈, 고객 데이터 등 다양한 부서에서 데이터를 다루다 보니 부서마다 고유한 데이터 기록 방법이 있을 것입니다.
ETL은 여기저기 흩어져있고 표준화되지 않은 데이터를 표준화시키고 데이터 웨어하우스나 클라우드에 적재하여 분석 준비합니다. 마케팅 데이터, IoT 장치, 클라우드 애플리케이션 등 다양한 소스의 데이터가 하나로 모여 데이터 분석에 용이할 뿐만 아니라 기존의 산발된 데이터만 보고 단편적으로 분석하기보다는 버드아이뷰로 데이터의 맥락을 읽고 인사이트를 가져올 수 있습니다.
ETL VS ELT, 닭이 먼저냐 달걀이 먼저냐🥚🐤
ETL(추출-전환-적재)과 ELT(추출-적재-전환)은 모두 데이터 분석을 위한 데이터 처리 접근 방식입니다. 데이터 사이언티스트는 애플리케이션, 센서, IT 인프라, 서드 파티 파트너 등으로부터 수백에서 수천 개에 해당하는 데이터 소스를 제공받고 이를 시의적절하게 활용해야 하는 위치에 있습니다. 레스토랑에서 샐러드, 전채 요리, 스테이크, 생선 요리, 파스타, 그리고 디저트까지 전반적인 코스 요리를 담당하는 셰프라고 볼 수도 있는데요, 대량의 재료(데이터)를 어떻게 다듬고 조리하여(데이터 필터링, 정렬, 정리) 요리로 재탄생시킬지는 셰프의 몫입니다.

ETL은 일련의 비즈니스 규칙을 사용하여 여러 소스의 데이터를 처리한 후 중앙 집중식 통합을 진행합니다. ELT의 경우 데이터를 먼저 그대로 적재하고 사용 사례 및 분석 요구 사항에 따라 이후 전환합니다.
ETL과 ELT의 비교 및 장단점은 아래 표로 간단하게 확인할 수 있습니다.
| ETL | ELT | |
| 공통점 | ETL과 ELT 모두 ‘추출’을 첫단계로 다양한 소스에서 raw data를 수집합니다. | |
| 처리 차이점 | raw data 수집 후 정해진 데이터 형식으로 전환하여 데이터 웨어하우스에 적재 | raw data 수집 후 데이터 웨어하우스에 적재 후 분석 직전에 전환 |
| 장점 |
|
|
| 단점 |
|
|
| 접근성 | 변경이 쉽지 않고 비용 소요 | 접근성이 높고 신속한 업데이트 가능 |
| 데이터 호환성 | 관계형 SQL 기반한 정형 데이터에 적합 | 정형, 비정형, 반정형 데이터 처리 가능 |
| 속도 | 데이터 변환 과정에서 시간이 소요되어 ELT와 비교했을 때 느림 | 데이터 웨어하우스의 내부 리소스를 활용하여 데이터 로드 시간이 짧음 |
정통적으로는 주로 ETL을 사용하여 데이터 레거시 데이터 베이스를 적재합니다. ETL의 경우 데이터 유형, 구조 및 관계를 정의하려는 분석을 요구하므로 초반에 더 많은 정의와 프로세스를 필요로 합니다. 반면 ELT는 모든 데이터를 저장하고 관리한다는 측면에서 유연성과 확장성을 내재하고 있으며 빅데이터를 분석한다는 점에서 근래에 주목받고 있습니다. 각 처리 방법에 따른 장단점이 뚜렷하기 때문에 데이터의 종류와 목적에 따른 선택이 중요합니다.
ETL 과정은 어떻게 되나요?
ETL의 첫 단추를 끼우는 것은 손님들을 위해 요리를 준비하는 것과 같습니다. 먼저 어떤 재료를 다룰지, 어디서 재료를 가져올지 생각하고 준비한 재료를 정리하고 쓸모없는 부분은 자르고, 더러운 부분은 예쁘게 다듬을 필요가 있습니다.
데이터 정리: 마찬가지로 ETL 프로세스를 시작하기 전에 어떤 데이터를 다룰지 파악해야 합니다. 데이터가 어디서 오는지, 구조화된 데이터(SQL)인지, 비구조화된 데이터(이메일, 소셜 미디어 콘텐츠)인지 내가 가진 데이터를 이해해야 합니다. 데이터에 중복이나 오류, 불일치가 없는지 확인하고 측정 단위를 표준화하거나 날짜 형식을 통일하는 작업이 필요합니다. 예를 들어 각 시스템은 데이터를 다른 형식으로 저장하곤 합니다. 날짜만 봐도 “MM/DD/YYYY” 형식으로 저장할 수 있고 “YYYY-MM-DD” 형식을 사용할 수도 있습니다. 따라서 데이터를 결합하기 전 모든 데이터 세트가 호환되는지, 호환되지 않는다면 통일된 형식으로 바꿔줄 필요가 있습니다.
이때 명확한 목표를 설정하면 어떤 데이터가 가장 관련이 있는지, 다음 단계에서 어떻게 변환(Transform)할 지 도움이 됩니다. 데이터 결합과 분석의 목적이 고객 행동 이해에 있는지, 운영 간소화에 있는지, 마케팅 전략 개선에 있는지 등 항상 염두에 두는 것을 잊지 마세요!
데이터 결합: 데이터 처리 이후 다양한 소스의 데이터를 결합합니다. 데이터 결합 분석 과정은 서로 다른 재료를 이용하여 맛있는 요리를 만드는 것과 같습니다. 각 재료는 고유한 맛을 가지고 있지만 하나로 합해지면 다른 맛을 자아내며 하나의 요리가 되는 거죠! 데이터 조합 시 이를 전문으로 하는 도구를 사용하거나 다양한 데이터세트를 결합하는 스크립트를 작성할 수 있습니다.
관계 분석: 데이터를 결합한 후 다음 단계는 데이터세트가 서로 어떻게 연관되어 있는지 관계를 이해해야 할 필요가 있습니다. 데이터 간 관계를 이해하면 ETL 중에 데이터가 변환되는 방식을 형성하는 데 도움이 됩니다.
ETL 활용 사례
ETL은 산발적으로 흩어져있는 데이터를 한곳에 모아 활용 가능한 정보로 만드는 과정이자 수단입니다. 경영진, 관리자, 기타 이해 관계자가 정보에 입각한 결정을 내리는 초석이 된다고도 볼 수 있는데요, 그렇다면 ETL을 통한 데이터 활용 사례로는 무엇이 있을까요?
- 데이터 웨어하우스: 데이터 웨어하우스란 쉽게 말해 다양한 소스의 데이터를 결합한 데이터 베이스를 의미하는데요, ETL은 데이터를 데이터 웨어하우스로 이전하는데 사용됩니다.
- 머신러닝(ML)/인공지능(AI): 머신러닝은 분석 모델을 명시적으로 프로그래밍하지 않고 데이터를 이해하는 방법입니다. 시스템은 인공지능 기법을 사용하여 데이터를 학습하기 때문에 ETL을 이용하여 데이터를 단일 위치로 이전하고 머신 러닝을 진행하기 쉽습니다..
- 마케팅 데이터 통합: 마케팅 데이터는 고객 데이터, 소셜 네트워킹 데이터, 웹로그 분석 데이터 등을 포함합니다. 이와 같은 데이터를 한곳으로 이전하고 수집-분석하여 앞으로의 마케팅 플랜을 수립할 수 있습니다.
- IoT 데이터 통합: 사물인터넷(IoT)는 하드웨어의 센서를 통해 데이터를 수집하고 전송할 수 기기의 종합입니다. IoT 기기로는 공장 장비, 네트워크 서버, 스마트폰, 스마트 워치, 헬스 보조 기기 등이 있는데요, ETL은 다양한 IoT 소스의 데이터를 수집하여 데이터 분석이 가능한 형태로 데이터 웨어하우스에 이전합니다.
- 데이터 베이스 복제: Oracle, MySQL용 Cloud SQL, Microsoft SQL Server, PostgreSQL용 Cloud SQL, MongoDB 등 다양한 데이터 베이스에서 데이터를 가져와 클라우드 데이터 웨어하우스에 복사하고 이 과정에서 ETL이 사용될 수 있습니다.
- 클라우드 마이그레이션: 비용 절감, 애플리케이션 확장성, 데이터 보호 등을 이유로 많은 기업이 On-premise 데이터와 애플리케이션을 클라우드로 이전하고 있습니다. 마이그레이션시 ETL이 일반적으로 사용됩니다.
'법, 용어 > 용어' 카테고리의 다른 글
| ORM (0) | 2025.10.23 |
|---|---|
| JPA (0) | 2025.10.23 |
| 정전의 종류와 「순정정・순저・정전」과 순단이란? 차이·발생 원인·대책을 해설 (0) | 2025.10.21 |
| UPS(무정전 전원 장치)란? 구조와 종류 등, 정리 해설! (0) | 2025.10.21 |
| 소프트웨어 운영 단계 성능유지관리 성능점검 (0) | 2025.10.17 |

