최적화된 충돌없는 복제 집합
초록
본 논문은 결국 일관성을 제공하는 복제 집합인 Observed‑Remove Set(OR‑Set)을 기반으로, 메타데이터 크기를 줄이기 위한 새로운 무덤돌(톰스톤) 제거 최적화를 제안한다. 제안 기법은 기존 OR‑Set의 논리적 삭제 정보를 유지하면서도 불필요한 삭제 마크를 없애, 저장 비용을 크게 절감한다. 또한, 동시성 의미를 체계적으로 분석하기 위해 ‘순열 동등성(permutation equivalence)’이라는 추론 프레임워크를 도입한다.
상세 분석
논문은 먼저 복제 시스템에서 강한 일관성을 포기하고 결국 일관성을 선택하는 이유를 설명하고, 집합 자료구조가 다양한 클라우드 서비스에서 핵심 역할을 함을 강조한다. 이어서 기존 CRDT(Conflict‑Free Replicated Data Type) 설계 중 OR‑Set이 어떻게 관측‑제거 메커니즘을 사용해 동시 삽입·삭제 충돌을 해결하는지 상세히 분석한다. OR‑Set은 각 원소에 고유 식별자를 부여하고, 삽입 시 해당 식별자를 ‘태그’로 저장한다. 삭제 연산은 해당 원소의 모든 태그를 ‘톰스톤’이라는 삭제 집합에 기록함으로써 논리적 제거를 수행한다. 이 구조는 합병 시 두 복제본의 삽입·삭제 집합을 단순히 합집합하면 되므로 수렴성을 보장한다. 그러나 톰스톤이 지속적으로 누적되면 메타데이터가 급격히 증가하고, 가비지 컬렉션이 필요하게 된다.
이에 저자들은 ‘순열 동등성’이라는 개념을 도입한다. 이는 여러 연산 순서가 동일한 최종 상태를 만들 경우 이를 동일한 동시성 의미로 간주한다는 추상화이며, 이를 통해 OR‑Set의 동작을 수학적으로 정형화한다. 순열 동등성 하에서 관측‑제거 연산은 삽입·삭제 태그의 존재 여부만을 판단하면 충분함을 증명한다.
핵심 최적화는 삭제 연산이 발생했을 때 즉시 해당 태그를 원소 집합에서 물리적으로 제거하고, 삭제 정보를 별도 톰스톤 집합에 보관하지 않는다. 대신 각 복제본은 ‘버전 벡터’를 사용해 자신이 본 최신 삽입 태그를 추적한다. 다른 복제본과 합병 시, 버전 벡터를 비교해 아직 전파되지 않은 삽입 태그만을 받아들이면 된다. 이렇게 하면 삭제된 태그는 영구히 저장되지 않으며, 메타데이터 크기가 삽입된 원소 수에 비례하게 제한된다.
저자는 또한 이 최적화가 지도(map), 그래프, 시퀀스와 같은 다른 CRDT에도 적용 가능함을 논의한다. 특히, 지도에서는 키‑값 쌍에 대한 삽입·삭제 태그를 동일한 방식으로 관리함으로써, 키 삭제 시 불필요한 톰스톤을 제거할 수 있다.
실험 결과는 기존 OR‑Set 대비 메타데이터 저장량이 평균 60 % 이상 감소했으며, 네트워크 전송량도 유사하게 감소함을 보여준다. 동시에 연산 지연시간과 수렴 속도는 변함이 없으며, 시스템 전체의 일관성 보장은 그대로 유지된다.