Learning
토픽 76 / 76·비교표

## Part 9: 분산/저장소 자료구조

LSM-Tree vs B+Tree

항목LSM-TreeB+Tree
쓰기 성능매우 빠름 (순차 쓰기)느림 (랜덤 쓰기)
읽기 성능느림 (다중 레벨 검색)빠름 (단일 트리)
공간 증폭높음 (중복 키)낮음
쓰기 증폭Compaction 오버헤드적음
적용Cassandra, RocksDB, LevelDBMySQL, PostgreSQL

Consistent Hashing vs Modular Hashing

항목Consistent HashingModular Hashing
재배치최소 (K/N개만 이동)전체 재배치
노드 추가/제거인접 노드만 영향전체 영향
부하 균형가상 노드로 해결균등 (정적)
적용분산 캐시 (DynamoDB)단일 서버 해시

Merkle Tree vs 전체 해시 vs 체크섬

항목Merkle Tree전체 해시체크섬
검증O(log n) 부분 검증O(n) 전체 비교무결성만
변경 감지변경된 부분만 식별변경 위치 불명단순 오류
적용블록체인, Git파일 비교네트워크 전송

CoW B-Tree vs In-place B-Tree vs LSM

항목CoW B-TreeIn-place B-TreeLSM-Tree
수정 방식불변 (경로 복사)직접 수정순차 쓰기
스냅샷무료 (이전 버전 보존)WAL 필요레벨별 스냅샷
쓰기 증폭경로 복사 오버헤드낮음Compaction
적용Btrfs, LMDBInnoDB, PostgreSQLRocksDB, LevelDB

Radix Tree vs Trie vs 해시

항목Radix TreeTrie해시
공간효율적 (엣지 압축)비효율 (노드 많음)중간
접두사 검색가능가능불가
점 검색O(m)O(m)O(1) 평균
적용Linux 라우팅, Redis사전범용

Rope vs String vs Gap Buffer

항목RopeStringGap Buffer
편집O(log n)O(n)O(1) 지역
구조균형 이진 트리연속 배열갭 포함 배열
적용대용량 텍스트 에디터일반 문자열Emacs 등 에디터