1. Pacelc
- Pacelc는 CAP 이론을 확장한 이론입니다. CAP의 한계점을 보완하기 위해 등장했습니다.
- PACELC 정리는 각 개념의 앞 글자를 모아 만든 것이며 각각 무엇을 의미하는지 알아봅니다.
1.1 PACELC의 각 개념
- P(Partition Tolerance) : 파티션 허용성
- 파티션 허용성은 분산 시스템이 네트워크 파티션이나 통신 장애가 발생해도 정상적으로 기능을 수행하고 서비스를 제공할 수 있는 능력을 의미합니다.
- 즉 서로 다른 노드 간 네트워크 연결이 끊어지는 상황에서도 시스템이 지속적으로 작동할 수 있음을 나타냅니다.
- A(Availability) : 가용성
- 가용성은 분산 시스템에 대한 모든 요청이 결국 응답을 받도록 보장하는 것을 의미합니다.
- 이는 각 노드의 상태나 네트워크 파티션에 영향받지 않습니다.
- 가용성은 강한 일관성을 포기하더라도 신속한 응답을 반환하는 것에 중점을 둡니다.
- C(Consistency) : 일관성
- 일관성은 분산 시스템의 모든 노드가 시스템의 현재 상태를 일치시는 것입니다.
- 강한 일관성은 모든 노드가 동일한 최신 데이터를 유지하려면 데이터 업데이트가 완료될 때까지 기다려야 한다는 의미입니다.
- 하지만 일관성을 우선시하면 지연 시간이 늘어나고 가용성이 떨어질 수 있습니다.
- E(Else): E는 네트워크 파티션이 발생하지 않는 상황을 의미합니다.
- 네트워크 파티션이 발생하지 않는 상황에서는 지연시간과 일관성 중 하나를 선택할 수 있습니다.
- L(Latency) : 지연시간
- 요청을 시작하고 응답을 받을 때까지의 시간을 의미합니다.
- 경우에 따라 지연시간을 줄이면 일관성이 떨어지거나 가용성이 떨어질 수 있습니다.
- C(Consistency) : 일관성
- 일관성은 분산 시스템의 모든 노드가 시스템의 현재 상태를 일치시는 것입니다.
2. CAP과 PACELC의 차이
- CAP는 네트워크 파티션이 발생했을 때, 일관성과 가용성 중 하나를 선택해야 합니다.
- PACELC 정리는 CAP 정리보다 더 넓은 경우의 수를 포함합니다.
- PACELC 이론은 CAP 이론의 한계를 보완하기 위해 등장한 이론으로, 네트워크 분할이 없을 때도 레이턴시(Latency)와 일관성(Consistency) 간의 트레이드오프를 고려합니다.
- CAP 정리에 대한 자세한 내용은 CAP 이론을 참고하세요.