CRDT이란?
사전적 정의 (Dictionary Definition)
CRDT(Conflict-free Replicated Data Type, 충돌 없는 복제 데이터 타입)는 분산 컴퓨팅 환경에서 여러 노드에 복제된 데이터를 별도의 중앙 집중식 합의 과정 없이도 일관되게 유지할 수 있도록 설계된 특수한 데이터 구조입니다. 각 노드에서 독립적으로 업데이트가 발생하더라도 수학적 규칙(가환성, 결합성, 멱등성 등)에 따라 병합 시 충돌 없이 동일한 상태로 수렴되는 것이 특징입니다. 이는 Raft나 Paxos와 같은 강력한 합의 알고리즘의 대안으로서, 네트워크 지연이나 가용성 저하 문제를 해결하고 최종 일관성(Eventual Consistency)을 달성하기 위해 사용됩니다.
실무 사용 예시 (Practical Use Case)
여러 사용자가 동시에 문서를 수정하는 실시간 협업 도구(Figma, Google Docs)나 네트워크 연결이 불안정한 환경에서도 데이터 입력을 보장해야 하는 오프라인 우선(Offline-first) 애플리케이션의 데이터 동기화에 주로 활용됩니다. 또한 Riak, Redis와 같은 분산 데이터베이스 시스템에서 노드 간 데이터 일관성을 유지하는 메커니즘으로도 사용됩니다.
관련 단어 (Related Words)
- 최종 일관성(Eventual Consistency)
- 분산 합의(Distributed Consensus)
- 고가용성(High Availability)