1. Analysis

1.6-1. Bloom Filter

(출처:https://en.wikipedia.org/wiki/Bloom_filter) 블룸 필터는 데이터 블록에 특정 key의 데이터가 존재하는지 확인할 수 있는 확률적 자료 구조이다. 블룸 필터는 데이터를 Write를 할 때에, 각각의 key에 k개의 해시… 더 보기 »1.6-1. Bloom Filter

1.5-1. Compaction

Compaction은 db에서 가장 복잡한 프로세스 중 하나이며 db의 성능에 큰 영향을 주기도 합니다. 내부 데이터 중첩 및 통합 메커니즘이며 읽기 및 쓰기 속도의 균형을 맞추는… 더 보기 »1.5-1. Compaction

1.4-3. SSTable Read

LevelDB에서 Get Operation을 통해 원하는 key의 value를 찾을 때, 어떤 과정을 거쳐서 key를 찾는지, 그 중에서 storage에 저장되는 SSTable에서 어떤 과정을 거쳐 찾는지에 대해 Top-Down… 더 보기 »1.4-3. SSTable Read

1.4-2. SSTable Write

SSTable은 다음과 같은 상황에서 만들어진다. MemTable로부터 Flush(Minor Compaction)가 일어날 때 Storage에서 Compaction이 일어날 때 이 중 MemTable로부터 Flush가 일어날 때에 초점을 맞춰 SSTable에 어떻게 만들어지는지… 더 보기 »1.4-2. SSTable Write

1.4-1. SSTable

LevelDB는 LSM트리(Log Structured Merge Tree)를 기반으로 만들어졌으며, 이 때문에 write를 할 때 데이터를 디스크에 직접 쓰는게 아니라 Log에 처음 쓰고 MemTable에 쓰게 된다. MemTable은 데이터가… 더 보기 »1.4-1. SSTable