<aside> 📓
</aside>
중앙집중 처리 방식인 OT
분산 동기화 처리 방식인 CRDT
동시편집을 관리하는 대표적인 방식으로 OT(Operational Transformation)가 오랫동안 사용되어 왔습니다. OT는 중앙 서버를 통해 변경 사항을 중재하며, 동기화 문제를 해결하지만 복잡한 충돌 처리 로직이 필요하고 서버 부하가 가중된다는 단점이 있습니다.
이러한 한계를 해결하기 위해 CRDT(Conflict-free Replicated Data Types)가 등장하게 되었습니다.
CRDT (Conflict-Free-Replicated Data Types) 란 분산 환경에서 각 노드가 독립적으로 작업을 수행할 수 있도록 설계되었으며, 별도의 중앙 중재 없이도 데이터가 자동으로 일관성을 유지하도록 보장합니다.
즉, 네트워크 지연이나 순서가 보장되지 않는 환경에서도 일관된 상태를 유지할 수 있도록 여러 컴퓨터에 걸쳐 복제되는 데이터 구조입니다.
CRDT는 데이터 구조에 따라 크게 3가지로 나뉩니다.
상태 기반 CRDT
: 전체 상태를 교환하고 병합하는 방식작업 기반 CRDT
: 변경 작업만을 전송하여 상태를 계산하는 방식델타 CRDT
: 상태와 작업 기반의 하이브리드 방식이 중에서도 전체 상태를 교환하는 방식인 상태 기반 CRDT
가 구현 난이도가 낮고 빠르게 구현해볼 수 있었기 때문에 먼저 선택하게 되었습니다.