728x90
반응형

CRDT 2

Rope

개요Rope는 문자열을 효율적으로 조작하기 위해 고안된 트리 기반 문자열 자료구조로, 특히 대용량 텍스트 편집기, 실시간 협업, 코드 편집기 등에서 성능 향상을 위해 사용됩니다. 일반적인 배열 기반 문자열에서는 문자열의 삽입·삭제·병합 연산이 느려지는 반면, Rope는 문자열을 균형 이진 트리로 분할하여 이러한 연산을 로그 시간으로 수행할 수 있도록 합니다.1. 개념 및 정의Rope는 문자열 전체를 하나의 연속 배열로 저장하는 대신, 여러 개의 작은 문자열 조각들을 이진 트리 형태로 연결하여 구성하는 자료구조입니다. 각 노드는 문자열 조각 또는 자식 노드들로 이루어지며, 길이 정보(weight)를 포함합니다.트리 기반 구조: 균형 잡힌 이진 트리 형태노드 타입: 리프 노드(문자열 조각), 내부 노드(왼쪽..

Topic 2025.05.07

CRDT (Conflict-Free Replicated Data Types)

개요CRDT(Conflict-Free Replicated Data Types)는 네트워크 연결이 불안정하거나 분산 환경에서 동기화 없이도 데이터 충돌 없이 병렬 업데이트를 가능하게 하는 데이터 구조입니다. 동시성이 필수적인 협업 애플리케이션, 분산 데이터베이스, 오프라인 지원 시스템 등에서 높은 가용성과 일관성을 동시에 달성할 수 있어 주목받고 있습니다. 이 글에서는 CRDT의 원리, 종류, 기술적 장점과 활용 사례까지 폭넓게 다룹니다.1. 개념 및 정의CRDT는 여러 노드가 동일한 데이터를 각자 복제하고, 중앙 서버나 락(lock) 없이도 서로의 변경 사항을 안전하게 병합(merge)할 수 있도록 설계된 자료구조입니다. 모든 노드는 비동기적으로 독립된 변경을 수행할 수 있으며, 이후 최종적으로 모든 노..

Topic 2025.03.26
728x90
반응형