OT와 CRDT, 실전 협업 편집기의 선택은 왜 OT인가

OT와 CRDT, 실전 협업 편집기의 선택은 왜 OT인가
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

본 논문은 실시간 협업 편집기 구축에 있어 OT와 CRDT의 실제 차이를 정량·정성적으로 분석한다. OT는 30년 넘는 실전 적용 경험과 성숙한 생태계를 갖춘 반면, CRDT는 이론적 장점에도 불구하고 산업 현장에서 거의 채택되지 않는다. 저자들은 대표적인 OT 기반 편집기와 CRDT 기반 시제품을 비교하고, 복잡도, 정확성, 구현 난이도, P2P 전제조건 등 여러 관점에서 OT가 왜 우세한지 입증한다. 또한 “피어‑투‑피어” 협업에 대한 오해를 바로잡으며, 향후 연구 방향을 제시한다.

상세 분석

논문은 먼저 OT와 CRDT가 공유 편집기의 핵심 문제인 동시성 제어를 어떻게 해결하는지를 개념적으로 정리한다. OT는 운영 변환(Transformation) 방식을 채택해, 각 클라이언트가 로컬에서 수행한 편집 작업을 서버 혹은 다른 피어에게 전파할 때 충돌을 해결한다. 변환 함수는 두 작업의 상대적 순서를 고려해 새로운 작업을 생성함으로써 일관성을 유지한다. 반면 CRDT는 **합성 가능성(Commutativity)**을 보장하도록 설계된 데이터 구조를 사용한다. 각 편집 작업은 독립적인 메타데이터(예: 식별자, 타임스탬프)를 포함하고, 모든 복제본에 무작위 순서로 적용해도 최종 상태가 동일하도록 만든다.

정확성 측면에서 OT는 제어된 변환을 통해 의도된 문서 상태를 정확히 복원한다. 다만 변환 함수가 복잡해질수록 구현 오류 가능성이 커진다. CRDT는 이론적으로는 충돌 없이 병합이 가능하지만, 실제 구현에서는 의도와 다른 병합 결과가 발생할 여지가 있다. 특히 WOOT 계열은 삭제된 요소를 “tombstone”으로 남겨 메모리 사용량이 급증하고, 복잡한 식별자 관리가 오류를 초래한다.

시간·공간 복잡도를 비교하면, 최신 OT 알고리즘(예: Jupiter, Google Docs)에서는 변환 비용이 O(1)~O(log n) 수준으로 최적화돼 있다. 반면 CRDT는 일반적으로 O(n) 혹은 그보다 높은 복잡도를 보이며, 특히 대규모 문서에서는 메모리와 네트워크 대역폭 소모가 심각하다.

구현 난이도와 산업 채택 측면에서도 차이가 뚜렷하다. OT는 수십 년간 실제 제품(Google Docs, Microsoft Office 365, Etherpad 등)에 적용돼 왔으며, 풍부한 라이브러리와 테스트 프레임워크가 존재한다. CRDT는 학술적 프로토타입이 많지만, 상용 제품에 적용된 사례는 드물다. 논문은 이를 **“연구‑실전 격차”**라고 명명하고, CRDT가 P2P 전용이라고 주장하는 경우가 많지만, 실제로는 중앙 서버 기반 동기화가 필요하거나, 네트워크 파티션 복구 시 복잡도가 급증한다는 점을 지적한다.

마지막으로 저자들은 **“피어‑투‑피어 협업”**에 대한 오해를 정리한다. CRDT가 P2P에 최적이라고 주장하지만, 실제 P2P 환경에서는 동시성 제어와 메시지 순서 보장이 여전히 문제이며, OT도 적절한 중계 서버와 함께라면 충분히 P2P를 구현할 수 있다. 따라서 선택은 성능·안정성·생태계를 종합적으로 고려한 결과이며, 현재 산업 현장에서는 OT가 가장 현실적인 선택이다.


댓글 및 학술 토론

Loading comments...

의견 남기기