728x90
반응형
SMALL
학습내용
- CAP 이론
- CAP 이론의 트레이드 오프
- 일관성 전략
- 분산 환경에서의 트레이드 오프 비교
학습정리
1. CAP 이론
- 분산 컴퓨팅 시스템에서 세 가지 주요 특성인 일관성(Consistency), 가용성(Availability), 분할 내성(Partition tolerance) 간의 관계를 설명하는 이론
- 분산 시스템은 이 세 가지 특성을 모두 동시에 만족할 수 없으며, 최대 두 가지만 충족할 수 있습니다.
- CAP 이론의 세 가지 요소
- 일관성 (Consistency)
- 모든 노드가 같은 시간에 같은 데이터를 보여줍니다.
- 즉, 데이터를 읽는 모든 사용자는 항상 최신의 데이터를 얻을 수 있습니다.
- 가용성 (Availability):
- 시스템 일부에서 장애가 발생해도, 모든 요청이 정상적인 응답을 받습니다.
- 시스템은 항상 동작하며, 사용자의 요청에 실패 없이 응답합니다.
- 분할 내성 (Partition tolerance):
- 네트워크 분할(Partition)이 발생해도 시스템은 계속 동작합니다.
- 네트워크 일부가 끊어져도 시스템은 정상적으로 작동해야 합니다.
- 일관성 (Consistency)
2. CAP 이론의 트레이드 오프
CP (일관성 + 분할내성)
- 네트워크 분할이 발생해도 일관성을 유지하고, 가용성을 희생함
- 작동 방식
시스템은 모든 노드 간의 데이터 동기화(일관성)을 유지하기 위해 네트워크 연결이 복구될 때 까지 읽기 및 쓰기 작업을 제한
AP (가용성 + 분할내성)
- 네트워크 분할이 발생해도 가용성을 유지하지만, 일관성을 희생함.
- 최종적으로 일관성을 맞추는 최종 일관성을 따름
- 작동 방식
네트워크 단절이 발생해도 각 노드는 요청을 처리하고, 나중에 데이터 동기화를 통해 일관성을 유지
CA (일관성 + 가용성)
- 일관성과 가용성을 우선시하여, 분할 내성을 희생
- 작동 방식
네트워크 분할하지 않는 환경 (단일 데이터 센터에서 운영되는 시스템)
CP vs AP
특징 CP 시스템 AP 시스템 우선순위 데이터 일관성을 우선시하며, 가용성을 희생 시스템 가용성을 우선시하며, 일관성을 희생 장점 강한 데이터 정합성 보장 항상 요청에 응답 가능 단점 네트워크 단절 시 일부 요청 제한 데이터 최신성이 일시적으로 보장되지 않을 수 있음 적용 사례 커머스 시스템 분산 파일 시스템, DNS - CP : 시스템 정합성이 중요한 환경에 적합
- AP : 시스템이 항상 요청 응답이 필요한 환경에 적합
3. 일관성 전략
- 강한 일관성 (Strong Consistency)
- 모든 읽기 요청이 항상 최신 데이터를 반환하는 방식
- 예시) RDBMS의 트랜잭션관리
- 최종 일관성 (Eventual Consistency)
- 데이터를 즉시 동기화 하지 않고, 일정 시간이 지나면 모든 노드가 동일한 데이터 상태를 갖게 되는 방식
- 예시) DNS 시스템, NoSQL 데이터베이
4. 분산 환경에서의 트레이드 오프 비교
- 확장성 vs 일관성
- 확장성을 높이기 위해 많은 노드를 추가하면 데이터 동기화에 시간이 걸리기에 일관성이 약해 질 수 있다.
- 지연시간(Latency) vs 처리량(Throughput)
- 낮은 지연시간을 요구하면 전체 처리량이 낮아 질 수 있고, 높은 처리량을 유지하려면 응답 시간이 길어 질 수 있다.
- 가용성 (Availability) vs 데이터 일관성 (Data Integrity)
- 분산 시스템에서 고가용성을 확보하려면 시스템의 일부 노드가 실패하더라도 나머지 노드가 서비스를 제공해야 합니다.
하지만, 이 과정에서 데이터의 완벽한 일관성을 보장하지 못할 수 있다.
- 분산 시스템에서 고가용성을 확보하려면 시스템의 일부 노드가 실패하더라도 나머지 노드가 서비스를 제공해야 합니다.
- 동기 복제 vs 비동기 복제
- 동기 복제 : 데이터 일관성이 보장되지만, 네트워크 지연이나 장애 시 성능이 저하됨.
- 비동기 복제 : 빠른 처리가 가능하지만 데이터 손실 가능성을 감수해야 함.
- 장애 복구 속도 vs 데이터 안정
- 장애 발생 시 빠르게 복구하려는 경우와, 데이터 손실 없이 안정적으로 복구하려는 목표 사이에서 균형을 맞춰야 한다.
ps. 금일에는 CAP 이론에 대해서 배웠는데 처음 들어보는 내용였지만,
결국에는 이러한 이론을 배경지식으로 알고 있으면,
이를 기반으로 도메인이나 개발방식에 따라서 어떠한 이론이 적합한지
파악하여 적용하는게 중요한 것 같다.
728x90
반응형
LIST
'TIL' 카테고리의 다른 글
7_1.트랜잭션 개념과 선언적/프로그래밍 방식 비교 (0) | 2025.02.04 |
---|---|
6_5.데이터베이스 기반 작업 큐 실습 (0) | 2025.02.04 |
6_3.DB 락 메커니즘 이해와 실습 (0) | 2025.02.02 |
6_2.트랜잭션 격리 수준 이해 및 실습 (0) | 2025.02.01 |
6_1.동시성 문제 개념 및 사례 분석 (0) | 2025.01.27 |