---
id: CAP-001
category: "10_Wiki/💡 Topics/AI"
confidence_score: 1.0
tags: [computer-science, distributed-systems, infrastructure, database, scalability]
last_reinforced: 2026-04-26
---

# CAP Theorem (CAP 정리)

## 📌 한 줄 통찰 (The Karpathy Summary)
> "분산 시스템에서 완벽한 데이터 일치와 24시간 가동, 네트워크 오류 방지를 모두 가질 수는 없다" — 분산 컴퓨팅 환경에서 일관성, 가용성, 분단 허용성 중 두 가지만 동시에 만족할 수 있다는 에릭 브루어의 정리.

## 📖 구조화된 지식 (Synthesized Content)
- **추출된 패턴:** 시스템의 규모가 커지고 노드가 분산될 때 발생하는 네트워크 지연 및 단절 상황에서, 데이터의 정확성과 시스템의 응답성 사이의 우선순위를 결정하는 아키텍처 선택 패턴.
- **세 가지 핵심 속성:**
    - **Consistency (일관성):** 모든 노드에서 동시에 같은 데이터를 조회할 수 있어야 함. (정확성 중시)
    - **Availability (가용성):** 일부 노드에 장애가 생겨도 시스템은 항상 응답해야 함. (연결성 중시)
    - **Partition Tolerance (분단 허용성):** 노드 간 네트워크가 끊겨도 시스템이 계속 작동해야 함. (분산 시스템의 필수 요건)
- **주요 선택 전략:**
    - **CP (Consistency + Partition Tolerance):** 데이터 정확성이 중요할 때 (예: 금융 시스템, 분산 락).
    - **AP (Availability + Partition Tolerance):** 서비스 중단이 치명적일 때 (예: SNS 피드, 쇼핑몰 장바구니).

## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- **과거 데이터와의 충돌:** 단순히 '모든 것을 만족하는 DB'를 찾던 시기에서, 비즈니스 요구사항에 따라 일관성을 희생(Eventual Consistency)하더라도 가용성을 챙기는 유연한 설계 시대로 전환.
- **정책 변화:** Antigravity 프로젝트의 분산 지식 그래프 시스템은 지식의 전파 속도보다 정확성이 중요하므로 CP 전략을 기본으로 하되, 사용자 읽기 요청에 대해서는 AP적 요소를 도입하여 응답성을 확보함.

## 🔗 지식 연결 (Graph)
- System-Design-for-AI-Scale, [[Distributed-Computing]], Vector-Database-Selection, Microservices
- **Raw Source:** 10_Wiki/Topics/AI/CAP-Theorem.md
