데이터 전처리: 데이터 통합 – 데이터 파이프라인
ㅁ 데이터 통합
ㅇ 정의:
서로 다른 출처, 형식, 구조를 가진 데이터를 하나의 일관된 형태로 결합하여 분석이나 서비스에 활용할 수 있도록 만드는 과정.
ㅇ 특징:
– 이기종 데이터 소스(MySQL, CSV, API 등)를 연결
– 데이터 포맷 변환, 중복 제거, 스키마 매핑 필요
– 실시간 또는 배치 방식으로 처리 가능
ㅇ 적합한 경우:
– 여러 부서/시스템에서 생성된 데이터를 통합 분석할 때
– 데이터 웨어하우스나 데이터 레이크 구축 시
ㅇ 시험 함정:
– ‘데이터 통합’과 ‘데이터 변환’을 혼동하는 문제
– 단순 병합(merge)과 통합(integration)의 차이를 물어보는 문제
ㅇ 시험 대비 “패턴 보기” 예시:
O: 서로 다른 데이터 소스의 스키마를 맞추는 과정은 데이터 통합에 해당한다.
X: 데이터 통합은 동일한 데이터베이스 내에서만 수행된다.
================================
1. 데이터 파이프라인
ㅇ 정의:
데이터 수집, 전처리, 저장, 분석까지의 흐름을 자동화하여 일정한 규칙과 순서로 데이터를 처리하는 구조.
ㅇ 특징:
– ETL(Extract, Transform, Load) 또는 ELT 방식 적용
– 스케줄링, 오류 처리, 모니터링 기능 포함
– 대규모 데이터 처리 시 확장성과 안정성이 중요
ㅇ 적합한 경우:
– 정기적으로 데이터 수집 및 적재가 필요한 경우
– 실시간 데이터 스트리밍 처리 필요 시
ㅇ 시험 함정:
– 데이터 파이프라인과 단순 스크립트 자동화를 동일시하는 경우
– ETL과 ELT의 처리 순서를 혼동하는 문제
ㅇ 시험 대비 “패턴 보기” 예시:
O: 데이터 파이프라인은 데이터의 수집부터 저장, 분석까지의 과정을 자동화한다.
X: 데이터 파이프라인은 데이터 수집 단계만을 의미한다.
ㅁ 추가 학습 내용
데이터 파이프라인의 주요 구성 요소는 다음과 같다.
– 소스: 데이터가 생성되거나 수집되는 원천 시스템 또는 서비스
– 처리 엔진: 데이터를 변환, 가공, 집계하는 시스템
– 저장소: 처리된 데이터를 저장하는 데이터베이스, 데이터 웨어하우스, 데이터 레이크 등
– 오케스트레이션 도구: 데이터 파이프라인의 실행 순서, 일정, 의존성을 관리하는 도구
ETL과 ELT의 차이점
– ETL(Extract, Transform, Load): 데이터를 추출 후 변환을 수행하고 변환된 데이터를 저장소에 적재
– ELT(Extract, Load, Transform): 데이터를 추출 후 원본 형태로 저장소에 적재한 뒤 저장소 내에서 변환 수행
배치 처리와 스트리밍 처리
– 배치 처리: 일정 주기마다 대량의 데이터를 모아 한 번에 처리, 구현이 단순하고 안정적이나 실시간성이 떨어짐
– 스트리밍 처리: 데이터가 발생하는 즉시 처리, 실시간 분석 가능하나 구현 복잡성과 시스템 부하 관리 필요
대표적인 구현 기술
– Apache Airflow: 워크플로우 스케줄링 및 오케스트레이션 도구
– AWS Glue: 서버리스 데이터 통합 서비스로 ETL 작업 지원
– Kafka: 분산 메시징 및 스트리밍 플랫폼
데이터 품질 관리와 모니터링
– 데이터 정합성, 완전성, 최신성, 정확성 검증
– 파이프라인 상태, 처리 지연, 오류 로그 모니터링
장애 복구 전략
– 체크포인트, 재시도 메커니즘, 장애 지점부터 재처리, 이중화 구성
파이프라인 확장성 확보 방법
– 분산 처리: 여러 노드에서 병렬 처리로 성능 향상
– 마이크로서비스 구조: 기능을 독립 서비스로 분리하여 확장성과 유지보수성 향상