OT와 CRDT의 정확성·복잡도 차이 실체

OT와 CRDT의 정확성·복잡도 차이 실체
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

본 논문은 실시간 공동 편집기에서 사용되는 운영 변환(OT)과 커뮤터티브 복제 데이터 타입(CRDT)의 기본 설계 원리와 구현 차이를 심층 분석한다. OT는 변환 함수 기반으로 순서를 재조정해 일관성을 유지하고, CRDT는 연산 자체를 교환 가능하게 설계한다. 저자는 대표적인 OT·CRDT 구현을 검토하면서, CRDT가 주장하는 “자연스러운 병행성·우수한 복잡도”가 실제로는 숨겨진 비용과 알고리즘 결함을 내포하고 있음을 밝혀낸다. 또한 OT가 오랜 실무 검증을 통해 안정성을 확보했으며, 복잡도 측면에서도 최악의 경우 O(n)·O(log n) 수준을 유지한다는 점을 강조한다.

상세 분석

OT와 CRDT는 모두 분산 환경에서 문서 일관성을 보장하기 위한 기술이지만, 접근 방식에서 근본적인 차이를 보인다. OT는 클라이언트가 로컬에서 수행한 편집 연산을 서버에 전송하고, 서버는 수신된 연산을 기존 연산들과 변환(transform)하여 순서를 재조정한다. 이 변환 과정은 “삽입‑삭제 충돌”, “위치 이동” 등 구체적인 상황에 대한 규칙을 정의하고, 각 연산이 적용되는 시점에 따라 동적으로 계산된다. 핵심은 변환 함수가 비교적 간단한 수학적 연산으로 구현될 수 있다는 점이며, 이는 연산 수가 증가해도 변환 비용이 O(1)~O(log n) 수준에 머무를 수 있게 한다. 또한 OT는 “역변환(undo)”, “다중 사용자 동시 편집” 등 실무에서 요구되는 부가 기능을 자연스럽게 지원한다.

반면 CRDT는 연산 자체를 교환 가능(commutative)하게 설계한다. WOOT, RGA, Logoot 등은 각 문자에 전역 고유 식별자를 부여하고, 삽입·삭제 연산을 식별자 기반으로 정의한다. 이론적으로는 연산 순서가 어떠하든 최종 상태가 동일해야 하므로, 복제 간 동기화가 매우 단순해 보인다. 그러나 실제 구현에서는 식별자 관리, 메모리 누수 방지, 트리/리스트 구조 유지 등을 위해 복잡한 메타데이터가 필요하다. 특히 식별자 길이가 연산 수에 비례해 성장하는 경우가 많아, 최악의 경우 메모리 사용량이 O(n²)까지 폭증한다. 또한 삽입 위치를 결정하기 위한 “탐색 알고리즘”이 O(log n)~O(n) 복잡도를 갖는 경우가 빈번하며, 이는 실시간 편집에서 지연을 초래한다.

논문은 대표적인 CRDT 구현인 WOOT, Logoot, RGA를 대상으로 알고리즘적 결함을 지적한다. WOOT은 “tombstone” 방식을 사용해 삭제된 요소를 계속 보관함으로써 메모리와 연산 비용이 급격히 증가한다. Logoot은 식별자 생성 규칙이 충돌을 방지하기 위해 무한히 큰 숫자를 할당해야 할 위험이 있으며, 이는 정수 오버플로우와 구현 복잡성을 야기한다. RGA는 삽입 순서를 보장하기 위해 복합적인 링크드 리스트와 해시 테이블을 동시에 유지해야 하며, 동시 삽입 시 “경합 해결” 로직이 복잡해진다. 이러한 문제들은 CRDT가 “복잡도 면에서 OT보다 우수하다”는 주장과는 정반대의 결과를 낳는다.

OT는 변환 함수가 정형화된 수학적 모델에 기반하므로, 증명 가능한 일관성(Convergence, Causality, Intention Preservation)을 제공한다. 반면 CRDT는 설계 단계에서 교환성을 보장하려 하지만, 실제 구현에서는 메타데이터 관리와 경합 해결 로직이 복잡해져 정형 검증이 어려워진다. 저자는 OT가 수십 년간 실무에 적용돼 왔으며, 구글 Docs, 마이크로소프트 Office Online 등 대형 서비스에서 검증된 안정성을 가지고 있음을 강조한다.

결론적으로, OT와 CRDT는 동일한 목표를 향해 다른 길을 선택했으며, OT는 동적 변환을 통해 복잡도를 낮추고 실용성을 확보한 반면, CRDT는 정적 교환성을 구현하려다 숨은 비용과 알고리즘 결함에 직면한다. 이러한 차이는 실제 제품 선택에 큰 영향을 미치며, 논문은 OT가 현재 실무에서 가장 합리적인 선택임을 재확인한다.


댓글 및 학술 토론

Loading comments...

의견 남기기