Study

데이터 정합성

kinim329 2026. 4. 27. 22:17

데이터 정합성

데이터 정합성은 데이터가 서로 모순 없이 정확하고 일관된 상태를 유지하는 것을 의미한다.

예시 :

  • 계좌 잔액 : 10000원
  • 거래 내역 합계 : 10000원

이 둘이 같으면 정합성 유지, 다르면 정합성 깨짐

 

왜 중요한가

  • 잘못된 데이터 방지
  • 시스템 신뢰성 확보
  • 금융/주식 서비스 에서 필수

특히 여러 데이터가 연결될 수록 정합성 유지의 중요도가 높아진다

 

정합성이 깨지는 원인

1. 동시성 문제

여러 요청이 동시에 데이터 수정

예) 동시에 출금요청 → 잔액 꼬임

2. 분산 시스템 문제

서비스 간 처리 결과 불일치

예) 계좌 차감 성공 → 물품 구매 실패 = 데이터 불일치 발생

해결 방법

1. 트랜잭션

모두 성공 / 모두 실패

2. 락

 

  • 동시 접근 제어
  • 비관적 락: 충돌 방지
  • 낙관적 락: 충돌 감지

 

3. 분산 트랜잭션

 

  • 2PC: 강한 정합성 (성능 비용 큼)
  • Saga: 실패 시 보상 처리

 

4. Outbox 패턴

  • DB 저장 + 이벤트 저장 함께 처리
  • 메시지 유실 방지

 

'Study' 카테고리의 다른 글

WebSocket & 실시간 통신  (0) 2026.05.01
Inbox / Outbox 패턴 정리  (0) 2026.04.30
멱등성  (0) 2026.04.26
라우터 / 스위치 / 허브 차이  (0) 2026.04.25
IP 주소 / 서브넷 마스크 / 공인 IP & 사설 IP  (0) 2026.04.24