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

ㅁ 동기화 기법

ㅇ 정의:

ㅇ 특징:

ㅇ 적합한 경우:

ㅇ 시험 함정:

ㅇ 시험 대비 “패턴 보기” 예시:

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

1. 실시간 동기화

ㅇ 정의:
두 개 이상의 시스템 간 데이터를 거의 지연 없이 동일하게 유지하는 방식으로, 변경 사항이 발생 즉시 전송·반영되는 동기화 기법.

ㅇ 특징:
– 네트워크 지연 최소화, 밀리초~초 단위 반영
– 지속적인 연결 필요
– 트래픽 부하가 높을 수 있음

ㅇ 적합한 경우:
– 주식 거래, IoT 센서 데이터, 실시간 모니터링 시스템 등 지연 허용이 거의 불가능한 경우

ㅇ 시험 함정:
– 실시간 동기화는 반드시 무조건 빠르지만, 네트워크 부하나 비용 문제는 고려하지 않는다는 식의 단정형 문장에 속기 쉬움

ㅇ 시험 대비 “패턴 보기” 예시:
O: “변경 사항 발생 즉시 반영되는 데이터 동기화 방식이다.”
X: “실시간 동기화는 네트워크 환경과 무관하게 항상 안정적이다.”

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

2. CDC

ㅇ 정의:
Change Data Capture의 약자로, 데이터베이스의 변경 사항(삽입, 수정, 삭제)을 추적하여 다른 시스템에 전달하는 동기화 기법.

ㅇ 특징:
– 로그 기반, 트리거 기반, 타임스탬프 기반 등 다양한 구현 방식
– 변경된 데이터만 전송하여 효율적
– 실시간 또는 배치 처리 가능

ㅇ 적합한 경우:
– 대규모 데이터베이스에서 변경분만 추출해 동기화해야 하는 경우

ㅇ 시험 함정:
– CDC가 항상 실시간 방식만 지원한다고 오해하기 쉬움

ㅇ 시험 대비 “패턴 보기” 예시:
O: “CDC는 변경된 데이터만 추적하여 전송한다.”
X: “CDC는 전체 데이터를 매번 전송한다.”

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

3. 데이터 복제

ㅇ 정의:
한 데이터베이스의 데이터를 동일하게 다른 데이터베이스에 복사·유지하는 기법.

ㅇ 특징:
– 전체 복제(Full), 증분 복제(Incremental) 방식 존재
– 동기식(synchronous) 또는 비동기식(asynchronous) 가능
– 데이터 가용성 및 재해 복구에 활용

ㅇ 적합한 경우:
– 고가용성 시스템, 재해 복구, 읽기 부하 분산

ㅇ 시험 함정:
– 데이터 복제가 항상 실시간이라는 오해

ㅇ 시험 대비 “패턴 보기” 예시:
O: “데이터 복제는 동기식과 비동기식 방식이 있다.”
X: “데이터 복제는 반드시 실시간으로만 수행된다.”

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

4. 이벤트 기반 동기화

ㅇ 정의:
특정 이벤트(데이터 변경, 사용자 행동 등)가 발생했을 때 해당 이벤트를 트리거로 하여 동기화를 수행하는 방식.

ㅇ 특징:
– 이벤트 발생 시에만 동기화
– 메시지 큐, 이벤트 브로커 등을 활용
– 비동기 처리 가능

ㅇ 적합한 경우:
– 불필요한 동기화 최소화, 이벤트 중심 아키텍처

ㅇ 시험 함정:
– 이벤트 기반 동기화가 반드시 실시간이라는 오해

ㅇ 시험 대비 “패턴 보기” 예시:
O: “이벤트 발생 시 동기화가 수행된다.”
X: “이벤트 기반 동기화는 주기적으로 모든 데이터를 동기화한다.”

ㅁ 추가 학습 내용

실시간 동기화와 이벤트 기반 동기화의 구분
– 실시간 동기화: 데이터 변경이 발생하면 거의 즉시 반영되어 지연이 최소화됨. 지속적으로 연결을 유지하며 변경 사항을 바로 전달.
– 이벤트 기반 동기화: 특정 이벤트(데이터 변경, 주기적 트리거 등)가 발생했을 때만 동기화 수행. 실시간처럼 보일 수 있으나 실제로는 이벤트 발생 시점에만 동기화가 이루어짐.
– 시험에서는 ‘실시간’과 ‘즉시’라는 표현을 혼용하여 혼동을 유발할 수 있으므로, 정확한 개념 차이를 구분해야 함.

CDC(Change Data Capture) 구현 방식
1. 로그 기반: 데이터베이스의 트랜잭션 로그를 분석하여 변경 사항을 추출.
– 장점: 성능 부담이 적고 원본 데이터에 영향이 거의 없음.
– 단점: 로그 접근 권한과 포맷 이해가 필요하며 특정 DBMS 종속적일 수 있음.
2. 트리거 기반: 데이터 변경 시 DB 트리거를 통해 변경 사항을 별도 테이블에 기록.
– 장점: 구현이 비교적 간단하고 DB 기능만으로 가능.
– 단점: 트랜잭션 처리 속도에 영향, 부하 증가 가능성.
3. 타임스탬프 기반: 레코드의 변경 시각을 기록하고, 마지막 동기화 이후 변경된 데이터만 조회.
– 장점: 구현이 단순하고 범용적.
– 단점: 삭제된 데이터 추적이 어려울 수 있으며, 타임스탬프 관리 필요.

데이터 복제 방식
– 동기식 복제: 원본과 복제본이 동일한 상태가 될 때까지 작업 완료를 기다림. 데이터 일관성이 높으나 지연 시간이 증가할 수 있음.
– 비동기식 복제: 원본 작업 완료 후 복제본에 변경 사항을 전달. 지연이 짧고 성능에 유리하나 일시적인 불일치 가능.

네트워크 지연과 데이터 일관성 트레이드오프
– 네트워크 지연이 길어질수록 동기식 복제에서는 응답 속도가 느려지고, 비동기식 복제에서는 일관성이 떨어짐.
– 설계 시 성능과 일관성 요구사항 간의 균형을 고려해야 함.

CAP 이론과 동기화 기법
– CAP 이론: 분산 시스템에서 Consistency(일관성), Availability(가용성), Partition tolerance(분할 내성) 중 동시에 세 가지를 모두 만족할 수 없음.
– 동기식 복제: C와 P를 우선시하는 경향.
– 비동기식 복제: A와 P를 우선시하는 경향.
– 장애 상황에서 어떤 특성을 유지할지에 따라 동기화 방식 선택.

장애 상황 복구 시나리오 이해
– 동기식 복제: 장애 시 데이터 손실 가능성이 적으나, 장애 전 지연이 길었을 수 있음.
– 비동기식 복제: 장애 직전의 변경 사항이 손실될 수 있으나, 평상시 성능이 우수.
– 복구 전략은 RPO(복구 시점 목표)와 RTO(복구 시간 목표)에 따라 달라짐.

답글 남기기

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

*
*