We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 968a2af commit 6e90c34Copy full SHA for 6e90c34
data-structure/ss-table.md
@@ -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