데이터 전처리: 데이터 통합 – CDC(Change Data Capture)
ㅁ 데이터 통합
ㅇ 정의:
여러 데이터 소스에서 발생하는 변경 사항(삽입, 수정, 삭제)을 실시간 또는 배치로 감지하여 대상 시스템에 반영하는 기술.
ㅇ 특징:
– 소스 시스템의 변경 로그를 기반으로 동작
– 전체 데이터를 재처리하지 않고 변경분만 처리하여 효율성 향상
– 실시간 데이터 파이프라인, 데이터 웨어하우스 동기화 등에 활용
ㅇ 적합한 경우:
– 대규모 데이터베이스 간 실시간 동기화 필요 시
– 변경 데이터만 추출하여 네트워크/처리 부하를 줄이고자 할 때
– 이벤트 기반 분석 및 모니터링 시스템 구축 시
ㅇ 시험 함정:
– CDC는 전체 데이터 복제를 수행하는 기술이 아님(O)
– CDC는 반드시 실시간으로만 동작한다(X) → 배치 방식도 가능
– CDC 구현 시 트리거 기반 방식만 존재한다(X) → 로그 기반, 타임스탬프 기반 등 다양한 방식 존재
ㅇ 시험 대비 “패턴 보기” 예시:
– “CDC는 변경된 데이터만 추출하여 전송한다” (O)
– “CDC는 전체 데이터셋을 주기적으로 재전송한다” (X)
– “CDC 구현 방식에는 로그 기반, 트리거 기반, 타임스탬프 기반이 있다” (O)
– “CDC는 데이터 통합보다는 데이터 분석에만 사용된다” (X)
ㅁ 추가 학습 내용
CDC 주요 구현 방식별 장단점 정리
1. 로그 기반 CDC
– 장점: 소스 시스템 부하가 적음, 데이터 변경 사항의 정확성이 높음
– 단점: 데이터베이스 트랜잭션 로그 접근 권한 필요, 특정 DBMS 종속성 가능
2. 트리거 기반 CDC
– 장점: 구현이 비교적 간단, 표준 SQL로 구현 가능
– 단점: 트랜잭션 처리 부하 증가, 애플리케이션 성능 저하 가능성
주요 CDC 도구 및 서비스
– 오픈소스: Kafka Connect, Debezium
– 클라우드 서비스: AWS DMS, Azure Data Factory
CDC와 ETL, ELT 차이
– CDC: 데이터 변경 사항만 실시간 또는 근실시간으로 전송
– ETL: Extract-Transform-Load, 데이터 추출 후 변환하여 적재
– ELT: Extract-Load-Transform, 데이터 적재 후 변환 수행
데이터 레이크/데이터 웨어하우스에서의 CDC 적용 시나리오
– 데이터 레이크: 원본 데이터의 변경 사항을 실시간 반영하여 데이터 분석의 최신성 확보
– 데이터 웨어하우스: 운영 DB 변경 사항을 반영하여 BI 리포트나 분석 결과의 시의성 유지