Skip to content

Commit 6e90c34

Browse files
authored
Create ss-table.md
1 parent 968a2af commit 6e90c34

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

data-structure/ss-table.md

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# SS TABLE
2+
3+
세그먼트 내 값이 키로 정렬된 문자열 테이블
4+
> 각 키는 병합된 세그먼트 파일 내에 한번만 나타나야 함
5+
6+
## ss테이블 vs 해시 색인
7+
1. 세그먼트 병합은 **merge sort** 알고리즘 방식과 유사하기 때문에 파일이 사용가능한 메모리보다 크더라도 간단하고 효율적이다. 병합된 세그먼트 파일 역시 키로 정렬되어 있다.
8+
2. 특정 키를 찾기 위해 메모리에 모든 키의 인덱스를 유지할 필요가 없다.
9+
10+
> 일부 키에 대한 오프셋을 알려주는 인메모리 인덱스가 여전히 필요하기는 하지만, 세그먼트 파일 내 수킬로바이트당 키 하나면 충분하다.
11+
12+
13+
## 생성 및 유지
14+
유입되는 데이터 쓰기는 임의의 순서로 일어나기 때문에 키로 데이터를 정렬하기 위해서는 레드블랙트리나 AVL 트리를 사용하여 메모리에 정렬된 구조를 유지하는 방법을 사용할 수 있다.
15+
이런 데이터 구조를 이용하면 임의의 순서로 키를 삽입하고 정렬된 순서로 해당 키를 다시 읽을 수 있다.
16+
17+
18+

0 commit comments

Comments
 (0)