데이터 통합: CDC(Change Data Capture)
ㅁ 데이터 통합
ㅇ 정의:
데이터 통합은 여러 출처에서 데이터를 수집하고 이를 일관성 있게 병합하여 하나의 통합된 데이터 세트를 생성하는 과정이다.
ㅇ 특징:
– 데이터의 중복을 제거하고 일관성을 유지한다.
– 다양한 데이터 소스(예: 데이터베이스, 파일 시스템, API 등)에서 데이터를 가져온다.
– 데이터 품질 향상을 목적으로 한다.
ㅇ 적합한 경우:
– 여러 시스템에서 데이터를 수집하여 분석하려는 경우.
– 데이터의 일관성과 신뢰성을 확보해야 하는 경우.
ㅇ 시험 함정:
– 데이터 통합과 데이터 변환을 혼동할 수 있다.
– 통합 과정에서 데이터 유실 가능성에 대한 고려를 간과할 수 있다.
ㅇ 시험 대비 “패턴 보기” 예시:
O: 데이터 통합은 여러 출처의 데이터를 병합하여 일관성을 유지하는 과정이다.
X: 데이터 통합은 데이터를 분석하는 과정이다.
================================
1. CDC(Change Data Capture)
ㅇ 정의:
CDC는 데이터베이스의 변경 사항(삽입, 업데이트, 삭제)을 캡처하여 실시간으로 동기화하는 기술이다.
ㅇ 특징:
– 데이터베이스의 트랜잭션 로그를 기반으로 작동한다.
– 실시간 데이터 동기화 및 복제가 가능하다.
– 데이터 변경 사항만 처리하므로 효율적이다.
ㅇ 적합한 경우:
– 실시간 데이터 동기화가 필요한 애플리케이션.
– 데이터 웨어하우스나 데이터 레이크로 데이터를 전송해야 하는 경우.
ㅇ 시험 함정:
– CDC와 ETL(Extract, Transform, Load)을 혼동할 수 있다.
– 변경 사항만 캡처하므로 초기 데이터 로드와는 별개임을 간과할 수 있다.
ㅇ 시험 대비 “패턴 보기” 예시:
O: CDC는 데이터베이스의 변경 사항을 캡처하여 실시간으로 동기화한다.
X: CDC는 모든 데이터를 한 번에 복제하는 기술이다.
ㅁ 추가 학습 내용
CDC(Change Data Capture)와 관련된 주요 구현 방식과 데이터 일관성을 유지하기 위한 기술적 방식을 다음과 같이 정리할 수 있습니다.
1. **CDC 주요 구현 방식**
– **로그 기반 CDC**: 데이터베이스의 트랜잭션 로그를 분석하여 변경된 데이터를 캡처하는 방식입니다. 데이터베이스의 성능에 미치는 영향을 최소화할 수 있으며, 실시간 데이터 동기화에 적합합니다. 데이터베이스의 로그를 읽는 데 필요한 권한이 있어야 하며, 특정 데이터베이스 시스템에 종속적인 구현이 될 수 있습니다.
– **트리거 기반 CDC**: 데이터베이스 내에서 트리거(Trigger)를 설정하여 데이터 변경 이벤트를 감지하고 이를 별도의 테이블에 기록하거나 실시간으로 처리하는 방식입니다. 구현이 비교적 간단하지만, 트리거가 추가적인 부하를 발생시킬 수 있어 대규모 시스템에서는 성능 저하를 초래할 수 있습니다.
– **쿼리 기반 CDC**: 정기적으로 데이터베이스를 쿼리하여 변경 사항을 감지하는 방식입니다. 일반적으로 타임스탬프나 특정 상태 값을 기준으로 변경된 데이터를 식별합니다. 구현이 간단하지만, 데이터 변경 사항을 실시간으로 감지하기 어렵고, 대량의 데이터를 처리하는 경우 성능 문제가 발생할 수 있습니다.
2. **데이터 일관성을 유지하기 위한 기술적 방식**
– **트랜잭션 로그 분석**: 데이터베이스의 트랜잭션 로그를 활용하여 데이터 변경 사항을 정확히 추적합니다. 이를 통해 데이터의 변경 순서와 내용을 보장하며, 데이터 일관성을 유지할 수 있습니다.
– **체크포인트 관리**: CDC 프로세스가 중단되더라도 재시작 시 이전 상태를 복구할 수 있도록 체크포인트를 설정하고 관리합니다. 이를 통해 데이터 손실이나 중복 처리를 방지할 수 있습니다.
– **변경 순서 보장**: 데이터 변경 사항의 순서를 유지하기 위해 타임스탬프나 트랜잭션 ID를 활용합니다. 이는 데이터 동기화 과정에서 정확한 순서를 보장하는 데 필수적입니다.
– **충돌 감지 및 해결**: 데이터가 여러 소스에서 동시에 변경되는 경우 충돌을 감지하고 이를 해결하는 메커니즘을 구현합니다. 예를 들어, 최신 데이터 우선 정책이나 사용자 정의 규칙을 적용할 수 있습니다.
– **데이터 무결성 검사**: 데이터 동기화 후 원본 데이터와 대상 데이터 간의 무결성을 확인하여 데이터 손실이나 변형이 없는지 검증합니다.
이 내용을 통해 CDC 방식의 차이점과 데이터 일관성을 유지하기 위한 기술적 접근 방식을 명확히 이해할 수 있습니다.