운영변환과 CRDT의 진실: 실시간 공동편집기 선택의 핵심 차이점
초록
본 논문은 운영변환(OT)과 커뮤티티브 복제 데이터 타입(CRDT)을 일반 변환 프레임워크 아래에서 비교·분석한다. OT는 직접 변환을, CRDT는 간접 변환을 통해 동시 편집을 처리한다는 점을 밝혀내며, CRDT가 주장하는 “본질적 커뮤티티브”가 실제로는 OT와 동일한 변환 과정을 숨기고 있음을 증명한다. 또한 두 접근법의 정확성, 시간·공간 복잡도, 구현 난이도 등을 정량·정성적으로 평가해, 현재 산업 현장에서 OT가 여전히 주류인 이유를 설명한다.
상세 분석
논문은 먼저 실시간 공동편집기의 기본 요구사항인 인과성 보존, 수렴성, 의도 보존을 일반 변환 접근법으로 추상화한다. 이 틀 안에서 OT와 CRDT는 ‘어떻게 변환을 수행하느냐’에 따라 구분된다. OT는 각 원격 연산을 로컬 연산과 직접 변환(Transformation)함으로써 순서를 재조정하고, 변환 함수가 명시적으로 정의된다. 반면 CRDT는 각 연산을 고유 식별자와 메타데이터와 함께 전파하고, 수신 측에서는 이 메타데이터를 이용해 “내용 중심”으로 삽입 위치를 재계산한다. 즉, 변환 로직이 연산 자체에 내재된 형태로 구현돼 있어 겉보기에는 변환이 필요 없지만, 실제로는 OT와 동일한 ‘커뮤티티브’를 달성하기 위한 숨은 변환 단계가 존재한다는 것이다.
이러한 구조적 차이는 정확성 증명에서도 차이를 만든다. OT는 변환 함수의 수학적 특성(예: TP1, TP2)으로 정형화된 증명을 제공하지만, 기존 CRDT 논문들은 종종 “자연스러운 커뮤티티브”를 전제하고 복잡한 메타데이터 관리와 가비지 컬렉션을 간과한다. 저자들은 대표적인 WOOT, Logoot, RGA 등을 분석해, 삽입·삭제 연산이 특정 상황에서 의도와 다른 문서 상태를 초래할 수 있음을 실험적으로 보여준다.
복잡도 측면에서는 OT가 변환 함수 호출당 O(1)~O(c) (c는 동시 연산 수) 비용을 갖는 반면, CRDT는 식별자 관리와 트리/리스트 구조 유지 때문에 최악의 경우 O(n) (n은 문서 길이) 메모리·시간 비용이 발생한다. 특히 대규모 문서에서 메타데이터가 폭발적으로 증가하는 현상이 관찰된다.
구현 난이도와 산업 적용 가능성도 논의된다. OT는 변환 로직이 명확히 분리돼 있어 모듈화가 쉽고, 구글 Docs, Microsoft Office Online 등에서 검증된 사례가 풍부하다. 반면 CRDT는 복잡한 데이터 구조와 가비지 컬렉션 로직이 필요해 구현·디버깅 비용이 높으며, 현재 상용 제품에 적용된 사례가 거의 없다.
결론적으로 논문은 “CRDT가 OT보다 본질적으로 우수하다”는 주장에 반박하고, 두 접근법이 동일한 변환 원리를 공유하지만 구현 방식과 부수 비용에서 큰 차이를 보인다는 점을 강조한다. 이는 연구자와 실무자가 기술 선택 시 정확한 비용·이득 분석을 해야 함을 시사한다.
댓글 및 학술 토론
Loading comments...
의견 남기기