데이터 전처리: 데이터 통합 – ETL
ㅁ 데이터 통합
ㅇ 정의:
서로 다른 출처나 형식의 데이터를 하나의 일관된 데이터 세트로 결합하여 분석이나 저장에 활용할 수 있도록 하는 과정.
ㅇ 특징:
– 데이터 출처가 다르면 스키마, 형식, 단위 등이 불일치할 수 있어 변환 과정이 필수.
– 중복 데이터 제거, 키 매핑, 데이터 형식 변환 등의 작업 포함.
– 대규모 데이터 처리 시 성능 최적화 필요.
ㅇ 적합한 경우:
– 여러 시스템에서 생성된 데이터를 하나의 데이터 웨어하우스에 집계할 때.
– 분석 및 리포팅을 위해 데이터 일관성이 필요한 경우.
ㅇ 시험 함정:
– 데이터 통합과 단순 데이터 병합을 혼동.
– ETL과 ELT의 처리 순서 차이를 혼동.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “여러 데이터 소스를 하나의 통합된 뷰로 제공한다.”
X: “데이터 통합은 동일한 포맷의 데이터만 처리할 수 있다.”
================================
1. ETL
ㅇ 정의:
Extract(추출), Transform(변환), Load(적재)의 약자로, 여러 데이터 소스에서 데이터를 추출하여 필요한 형태로 변환한 뒤 대상 시스템(예: 데이터 웨어하우스)에 적재하는 데이터 처리 과정.
ㅇ 특징:
– 추출 단계: 관계형 DB, 파일, API 등 다양한 소스에서 데이터 수집.
– 변환 단계: 데이터 정제, 표준화, 집계, 형변환, 코드 매핑 수행.
– 적재 단계: 변환된 데이터를 데이터 웨어하우스나 분석 시스템에 저장.
– 배치 처리에 주로 사용되며, 처리 주기가 길 수 있음.
ㅇ 적합한 경우:
– 데이터 품질을 보장해야 하는 정형 데이터 처리.
– 분석 전에 데이터 구조를 표준화해야 하는 경우.
ㅇ 시험 함정:
– ETL과 ELT의 순서와 처리 위치 차이를 혼동.
– 실시간 스트리밍 처리와 배치 처리의 구분을 놓침.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “ETL의 변환 단계에서는 데이터 표준화와 정제가 이루어진다.”
X: “ETL은 데이터 변환 없이 원본 데이터를 그대로 적재한다.”
ㅁ 추가 학습 내용
ETL 과정에서 주로 사용되는 변환 기법은 다음과 같다.
데이터 클렌징: 오류, 중복, 불필요한 데이터를 제거하거나 수정하여 데이터 품질을 향상시키는 과정
피벗 변환: 행과 열을 전환하여 데이터 구조를 재구성하는 기법
데이터 집계: 여러 데이터 값을 합계, 평균, 개수 등으로 요약하는 과정
적재 방식은 크게 두 가지로 구분된다.
풀 로드: 전체 데이터를 매번 새로 적재하는 방식
증분 로드: 변경되거나 새로 추가된 데이터만 적재하는 방식
ETL과 ELT의 차이점은 다음과 같다.
ETL: 추출(Extract) → 변환(Transform) → 적재(Load) 순서로 진행되며, 변환이 데이터 웨어하우스에 적재되기 전에 수행됨
ELT: 추출(Extract) → 적재(Load) → 변환(Transform) 순서로 진행되며, 변환이 데이터 웨어하우스나 데이터 레이크 내부에서 수행됨
ETL은 전통적인 온프레미스 환경에서 주로 사용되며, ELT는 클라우드 환경에서 대규모 데이터 처리에 유리하다. 처리 속도 측면에서 ELT는 클라우드의 병렬 처리 성능을 활용할 수 있다.
실시간 처리(Streaming ETL)와 배치 처리의 비교
실시간 처리: 데이터가 발생하는 즉시 처리, 빠른 의사결정 가능, 구현 복잡도와 비용이 높음
배치 처리: 일정 주기마다 대량의 데이터를 처리, 구현이 비교적 단순하고 안정적, 데이터 최신성이 떨어질 수 있음
데이터 품질 관리 지표
정확성: 데이터가 사실과 일치하는 정도
완전성: 필요한 데이터가 빠짐없이 존재하는 정도
일관성: 서로 다른 데이터 간에 모순이 없는 정도
최신성: 데이터가 최신 상태로 유지되는 정도
ETL 성능 최적화 기법
병렬 처리: 여러 작업을 동시에 실행하여 처리 속도 향상
파티셔닝: 데이터를 분할하여 병렬 처리 효율을 높임
인덱스 활용: 데이터 검색 속도를 향상시켜 변환 및 적재 시간을 단축