데이터 정합성
데이터 정합성은 데이터가 서로 모순 없이 정확하고 일관된 상태를 유지하는 것을 의미한다.
예시 :
- 계좌 잔액 : 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 |