728x90
반응형

데이터일관성 3

ZAB(Zookeeper Atomic Broadcast)

개요ZAB(Zookeeper Atomic Broadcast)는 Apache Zookeeper에서 분산 시스템의 데이터 일관성과 합의를 보장하기 위해 설계된 원자적 브로드캐스트(Atomic Broadcast) 프로토콜이다. Paxos와 유사한 구조를 가지지만, Zookeeper의 리더-팔로워(Leader-Follower) 아키텍처에 특화되어 고가용성과 일관성(consistency)을 모두 달성한다.ZAB는 데이터 복제, 리더 선출, 장애 복구 과정에서 핵심적인 역할을 하며, 모든 노드가 동일한 순서로 동일한 상태 변경(Log)을 적용하도록 보장한다.1. 개념 및 정의ZAB는 ‘원자적 브로드캐스트(Atomic Broadcast)’를 기반으로, 분산된 노드 간에 동일한 순서의 상태 업데이트를 보장하는 프로토콜..

Topic 2025.11.28

CRDTs(Conflict-Free Replicated Data Types)

개요CRDTs(Conflict-Free Replicated Data Types)는 분산 환경에서 데이터의 일관성을 유지하면서도 충돌 없는 병합을 가능하게 하는 데이터 구조다. 서버 간 네트워크 지연이나 오프라인 상태에서도 로컬 업데이트가 가능하며, 최종적으로 모든 복제본이 동일한 상태로 수렴하는 것을 보장한다. 이는 실시간 협업 도구, 분산 데이터베이스, 엣지 컴퓨팅 환경에서 핵심 기술로 사용된다.1. 개념 및 정의CRDT는 여러 노드에서 독립적으로 데이터 변경이 일어나더라도 충돌(conflict) 없이 자동으로 병합될 수 있는 데이터 구조다. 전통적인 락(lock)이나 중앙 집중형 동기화 없이, 수학적 합병 규칙을 통해 ‘최종 일관성(Eventual Consistency)’을 보장한다.CRDT의 기본 ..

Topic 2025.11.27

분산 트랜잭션 솔루션(XA, Saga 등)

개요분산 트랜잭션은 여러 데이터베이스나 마이크로서비스에 걸쳐 일관된 상태를 유지해야 할 때 사용하는 트랜잭션 처리 방식입니다. 전통적인 단일 데이터베이스 트랜잭션과는 달리, 분산 시스템에서는 네트워크 지연, 장애, 데이터 소스 간 이질성 등으로 인해 트랜잭션 일관성을 보장하는 것이 매우 어렵습니다. 이에 따라 XA(2-Phase Commit), Saga, TCC(Try-Confirm-Cancel) 등 다양한 분산 트랜잭션 솔루션이 등장했습니다. 이 글에서는 각 방식의 개념, 동작 원리, 비교 분석, 적용 사례를 소개합니다.1. 개념 및 정의분산 트랜잭션은 **둘 이상의 시스템(데이터베이스, 서비스 등)**이 참여하여 하나의 논리적 작업 단위를 이루는 트랜잭션입니다. ACID(Atomicity, Consi..

Topic 2025.03.27
728x90
반응형