데이터 전처리: 동기화 기법

ㅁ 동기화 기법

ㅇ 정의:
데이터 동기화 기법은 서로 다른 시스템, 데이터베이스, 또는 애플리케이션 간의 데이터 일관성을 유지하기 위해 데이터를 동일하게 맞추는 방법을 의미함.

ㅇ 특징:
– 데이터 변경 사항을 즉시 또는 일정 주기로 반영
– 네트워크, 처리 지연, 충돌 관리 필요
– 데이터 무결성과 가용성 보장 목적

ㅇ 적합한 경우:
– 분산 시스템 운영 시 데이터 일관성 필요
– 다중 지점에서 동일 데이터 사용

ㅇ 시험 함정:
– ‘동기화’와 ‘백업’ 혼동 유도
– 실시간과 배치 동기화 구분 문제

ㅇ 시험 대비 “패턴 보기” 예시:
O: “여러 지점에서 동일한 데이터를 유지하기 위해 데이터 변경 사항을 즉시 반영하는 기법”
X: “데이터를 주기적으로 백업하여 보관하는 절차”

================================

1. 실시간 동기화

ㅇ 정의:
데이터 변경 사항이 발생하는 즉시 다른 시스템에 반영하는 동기화 방식.

ㅇ 특징:
– 낮은 지연 시간
– 높은 네트워크 사용량 가능
– 이벤트 기반 또는 스트리밍 기술 활용

ㅇ 적합한 경우:
– 금융 거래, 재고 관리 등 즉시성 요구되는 서비스

ㅇ 시험 함정:
– 실시간과 준실시간(near real-time) 혼동
– 실시간이 항상 최적이라는 오답 유도

ㅇ 시험 대비 “패턴 보기” 예시:
O: “데이터 변경 즉시 다른 시스템에 반영”
X: “일정 주기마다 데이터를 일괄 전송”

================================

2. CDC

ㅇ 정의:
Change Data Capture의 약자로, 데이터베이스 내 변경 사항(삽입, 수정, 삭제)을 캡처하여 다른 시스템으로 전달하는 기술.

ㅇ 특징:
– 로그 기반, 트리거 기반 등 다양한 구현 방식
– 변경된 데이터만 전송해 효율성 높음

ㅇ 적합한 경우:
– 대용량 데이터베이스의 변경 사항 전파 필요 시

ㅇ 시험 함정:
– 전체 데이터 복제와 혼동
– CDC가 데이터 품질 검증까지 수행한다고 오해

ㅇ 시험 대비 “패턴 보기” 예시:
O: “데이터베이스 변경 사항만 추출하여 전송”
X: “데이터베이스 전체를 주기적으로 복사”

================================

3. 데이터 복제

ㅇ 정의:
원본 데이터베이스 또는 스토리지의 데이터를 동일하게 다른 위치에 복사해 두는 기술.

ㅇ 특징:
– 전체 또는 부분 복제 가능
– 동기식, 비동기식 방식 존재
– 재해 복구, 부하 분산 목적

ㅇ 적합한 경우:
– 서비스 무중단 운영, 재해 복구

ㅇ 시험 함정:
– 복제와 백업 혼동
– 동기식 복제가 항상 더 안전하다는 오답 유도

ㅇ 시험 대비 “패턴 보기” 예시:
O: “원본과 동일한 데이터를 다른 서버에 유지”
X: “데이터 변경 사항만 전송하여 반영”

================================

4. 이벤트 기반 동기화

ㅇ 정의:
특정 이벤트 발생 시 해당 이벤트에 맞춰 데이터를 동기화하는 방식.

ㅇ 특징:
– 이벤트 트리거에 의해 동작
– 불필요한 데이터 전송 최소화
– 메시지 큐, 이벤트 버스 활용 가능

ㅇ 적합한 경우:
– 변경 빈도가 낮고 이벤트 중심의 업무

ㅇ 시험 함정:
– 이벤트 기반과 실시간 동기화 혼동
– 이벤트 발생 없이도 주기적으로 실행된다고 오해

ㅇ 시험 대비 “패턴 보기” 예시:
O: “이벤트 발생 시점에 데이터 동기화 수행”
X: “항상 데이터 변경 즉시 반영”

ㅁ 추가 학습 내용

정리된 학습 내용

1. 실시간 동기화 구현 기술
– WebSocket: 양방향 통신, 실시간 데이터 전송에 적합, 브라우저-서버 간 지속 연결
– Kafka Streams: 대규모 스트리밍 데이터 처리, 분산 환경에서의 실시간 분석
– AWS Kinesis: 클라우드 기반 스트리밍 데이터 처리, 확장성 및 관리형 서비스 장점
– 각 기술의 사용 사례와 장단점 파악 필요

2. CDC(Change Data Capture) 구현 방식
– 로그 기반: DB 트랜잭션 로그를 읽어 변경 사항 추출, 성능 영향 적지만 로그 접근 권한 필요
– 트리거 기반: DB 트리거로 변경 시점에 기록, 구현 용이하나 성능 부하 가능성
– 타임스탬프 기반: 변경 시간 컬럼을 활용해 변경 데이터 추출, 구현 단순하나 누락 가능성 있음
– 각 방식의 장단점 비교 및 적용 상황 이해

3. 데이터 복제 방식
– 동기식 복제: 쓰기 작업 완료 시점에 모든 복제본 반영, 데이터 일관성 높음, 지연 발생 가능
– 비동기식 복제: 원본에 먼저 반영 후 복제, 지연 적지만 장애 시 데이터 손실 가능
– RPO(복구 시점 목표): 허용 가능한 데이터 손실량
– RTO(복구 시간 목표): 서비스 복구까지 걸리는 시간
– 복제 방식과 RPO/RTO의 관계 이해

4. 이벤트 기반 동기화와 메시지 브로커 고려사항
– 메시지 순서 보장: 순서 중요 시 파티션 설계 및 키 설정 필요
– 중복 처리: 멱등성(idempotency) 구현, 중복 메시지 필터링 로직 필요
– RabbitMQ, Kafka의 특성 및 차이 이해

5. 동기화 기법 비교
– 성능, 비용, 복잡성 측면에서 각 기법 비교표 작성
– 서비스 요구사항에 따른 최적 기법 선택 기준 정리

6. 개념 혼동 방지
– 동기화 vs 백업: 동기화는 실시간 또는 주기적 데이터 일치 유지, 백업은 데이터 보존 목적
– 동기화 vs ETL: ETL은 변환 및 적재 포함, 동기화는 데이터 일관성 유지 목적

시험 대비 체크리스트

[ ] WebSocket, Kafka Streams, AWS Kinesis의 특징과 차이 설명 가능
[ ] CDC 로그 기반, 트리거 기반, 타임스탬프 기반 방식의 장단점 암기
[ ] 동기식 vs 비동기식 복제 차이와 RPO, RTO 개념 연결 설명 가능
[ ] 이벤트 기반 동기화 시 메시지 순서 보장과 중복 처리 방법 제시 가능
[ ] 각 동기화 기법의 성능, 비용, 복잡성 비교표 작성 완료
[ ] 동기화, 백업, ETL의 차이를 명확히 구분 가능

답글 남기기

Your email address will not be published. Required fields are marked *.

*
*