로컬 우선 소프트웨어를 위한 CRDT의 원리와 동기화 패턴
오프라인 지원과 다자간 상태 병합을 가능하게 하는 충돌 없는 복제 데이터 타입(CRDT)의 수학적 기초와 데이터 모델 설계 원리를 다룹니다.
네트워크 연결이 일시적으로 끊기더라도 사용자가 로컬 기기에서 작업을 지속하고, 재연결 시 자동으로 데이터가 합쳐지는 로컬 우선(Local-First) 소프트웨어 패러다임이 주목받고 있습니다.
1. CRDT의 대수적 기초
CRDT(Conflict-free Replicated Data Type)는 업데이트가 어떤 순서로 도착하더라도 동일한 최종 상태로 수렴할 수 있도록 교환법칙, 결합법칙, 멱등법칙을 만족하는 머지 규칙을 정의합니다.
2. 운영 시 고려할 점
상태 기반(State-based) 또는 연산 기반(Operation-based) 접근에 따라 메시지 전송량과 메모리 사용량이 달라지므로, 도메인 데이터 구조에 맞는 압축 및 가지치기(Tombstone Pruning) 전략이 수반되어야 합니다.