DB/etc CAP 정리(브루어의 정리) - 반응형 Consistency, Availability, Partition tolerance 3가지를 동시에 만족하는 분산 시스템을 설계하는 것은 불가능하다는 정리. 그림에서 가운데 영역에 들어가는 시스템은 존재할 수 없다. 출처:https://www.researchgate.net/figure/Visualization-of-CAP-theorem_fig2_282679529 각각의 요소들의 정의를 알아보자 consistency 일관성 모든 노드가 같은 순간에 같은 데이터를 볼 수 있다 모든 노드는 동일한 데이터를 동시에 본다. 추가 읽기를 허용하기 전에 여러 노드를 업데이트하여 일관성을 확보한다 분산 시스템에 접속하는 모든 클라이언트는 어떤 노드에 접속했느냐와 관계없이 언제나 같은 데이터를 보게 되어야 한다 availability 가용성 모든 요청이 성공 또는 실패 결과를 반환할 수 있다 하나 이상의 노드가 작동 중지되어도 데이터를 요청하는 클라이언트는 반드시 응답을 받아야 한다 분산 시스템의 작업 노드는 일부에 문제가 발생하여도 모든 요청에 대한 유효한 응답을 전해줄 수 있어야 한다 partition tolerance 분할 허용성 메시지 전달이 실패하거나 시스템 일부가 망가져도 시스템이 계속 동작할 수 있다 네트워크 분할이 발생하더라도 시스템은 계속 작동해야 한다 조합 CP (consistency+partition tolerance) 가용성을 희생 일관성, 분할허용 제공 시스템 간 네트워크 분할이 발생한 경우 일관성을 유지하기 위해서 시스템 전체가 응답 불가 데이터의 일관성이 중요한 은행시스템에서 많이 사용 AP (availability+partition tolerance) 일관성을 희생 가용성, 분할허용 제공 시스템 간 네트워크 분할이 발생한 경우 가용성을 유지하기 위해서 이전의 데이터라도 응답 네트워크 장애 극복 이후에 데이터 업데이트 진행 CA (consistency+availability) 분할 허용성 희생 절대로 장애가 나지 않는 네트워크 구성은 이 세상에 존재하지 않는다 불가능한 조합 반응형 공유하기 URL 복사카카오톡 공유페이스북 공유엑스 공유 게시글 관리 구독하기my story 저작자표시 Contents 당신이 좋아할만한 콘텐츠 비관적 락 데드락 발생 내역 (Pessimistic Lock and DeadLock) 2025.01.08 [MySQL] 중복 데이터 관리(on duplicate key update..) 2023.12.26 [MySQL] Partition 파티션 이란 2022.08.11 [DB] 파티셔닝 샤딩 비교 ( Partitioning, Sharding ) 2022.08.09 댓글 0 + 이전 댓글 더보기