728x90
반응형
구분 | ACID 이론 | CAP 이론 | |||
정의 및 주요 속성 |
데이터베이스 트랜잭션의 신뢰성과 일관성을 보장하는 4가지 핵심 속성 (원자성, 일관성, 격리성, 지속성) | 분산 시스템에서 동시에 보장할 수 없는 3가지 속성 (일관성, 가용성, 파티션 허용성) (2가지만 보장 가능) | |||
Atomicity 원자성 |
트랜잭션 내 모든 작업은 전부 성공하거나 전부 실패해야 함 | Consistency 일관성 |
모든 노드가 동일한 시점에 동일 데이터를 볼 수 있어야 함 | ||
Consistency 일관성 |
트랜잭션 시행 전과 후의 데이터 베이스 상태가 일관되어야 함 | ||||
Availability 가용성 |
성공/실패 여부에 상관없이 모든 요청에 항상 응답할 수 있어야 함 | ||||
Isolation 격리성 |
여러 트랜잭션이 동시에 실행될 때 각각의 트랜잭션은 독립적으로 실행되어야 함 | ||||
Partition Tolerance 파티션 허용성 |
파티션 분리(분산 노드간 메시지가 삭제되거나 지연되는 등 네트워크 단절)가 발생해도 시스템이 동작해야 함. | ||||
Durability 지속성 |
트랜잭션이 성공하면 그 결과가 영구적으로 보장되어야 함 | ||||
적용 대상 | 전통적 관계형 데이터베이스 (Oracle, MySQL, PostgreSQL 등) |
분산 시스템, 분산 데이터베이스 (MongDB, Redis 등) |
|||
목적 | 데이터 무결성, 트랜잭션 신뢰성 보장 (가용성보다 일관성을 우선시함) |
분산 환경에서의 데이터 일관성, 가용성, 장애 내성 간의 트레이드오프 설명 (선택적 보장) | |||
대표 사례 | 하나의 트랜잭션이 항상 ACID 속성을 만족해야 하므로 은행, 금융, ERP 등 데이터 정합성이 최우선인 시스템 | 완벽한 일관성은 조금 포기하되 대용량 데이터의 빠른 응답성과 확장성을 필요로 하는 SNS, 로그 저장 시스템, 실시간 채팅 서비스, IoT 등 | |||
확장성 | 일관성에 초점을 맞추므로 수평적 확장(분산) 어려움, 주로 수직적 확장 | 수평적 확장 용이, 대규모 분산 환경에 적합 | |||
성능 | 대용량 데이터 처리 시 성능 저하 | 대용량의 비정형 데이터 처리 가능 | |||
공통점 | 데이터 일관성, 시스템 신뢰성 강조 | ||||
주요 차이점 |
관계형 데이터베이스의 ACID 이론은 ‘트랜잭션’ 관리 원칙으로, 가용성이나 속도보다는 한 트랜잭션 내에서 데이터의 완벽한 정합성, 무결성, 신뢰성에 중점을 둔다. 반면 주로 대용량 데이터를 다루는 No-SQL 기반의 CAP 이론은 분산 시스템의 특성이나 한계에 중점을 둔다. 따라서 경우에 따라 즉각적인 일관성을 조금 포기하고 빠른 응답과 가용성을 선택하기도 한다. (일관성을 완전히 포기하는 것은 아니고 일정 시간이 지나면 데이터가 맞춰지게 된다. (Eventually Consistency)) |
반응형
'열심히 직장인 > Hello World' 카테고리의 다른 글
글또 10기를 마무리하며 (1) | 2025.03.30 |
---|---|
Docker를 활용한 솔루션 배포 준비 과정: 데이터 정리부터 실행까지 (0) | 2025.03.15 |
Java의 ThreadLocal은 무엇이고 왜 사용할까? (0) | 2025.02.27 |
Spring과 Spring MVC, 그리고 Spring Boot (1) | 2025.02.16 |
DeepSeek(딥시크)란? 개인정보 유출 우려나 검열 없이 딥시크 사용하는 법 (0) | 2025.02.02 |
[vue-ganttastic] 무료 간트 차트 생성 라이브러리 (vue3) (1) | 2025.01.19 |
방통대 컴퓨터 과학과 3학년 2학기 후기 (선형대수/자료구조/컴퓨터구조/UNIX시스템/멀티미디어시스템/대학영어) (1) | 2024.12.30 |
Apache POI 라이브러리를 이용해 Java에서 엑셀 파일 만들기 (DB to File) (1) | 2024.12.30 |
JAVA로 파일처리 하기 - 스트림(STREAM)의 이해 (DB 데이터로 엑셀 파일 만들기) (0) | 2024.12.22 |
서버와 컨테이너, 그리고 POD (CI/CD 파이프라인 흐름) (4) | 2024.11.13 |