mgchoi

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

1.3. Memtable

Memtable 은 log의 memory copy로 볼수 있습니다. 주요역할은 log내의 데이터를 구조화 저장하는 것입니다. (source https://www.jianshu.com/p/0e6116f23c3d) DB에 write를 할 때 leveldb의 kv데이터를 저장하는 공간이 Memtable입니다, Memtable에… 더 보기 »1.3. Memtable

1.2. Manifest

MANIFEST 는 VersionSet 과 VersionEdit 를 파일로 정리해놓는 기능을 한다. 이는 MANIFEST-000000 와 같은 이름으로 저장이 된다. MANIFEST 파일은 LevelDB 를 활용하며 이름이 바뀌는데, 이번… 더 보기 »1.2. Manifest

1.1. WAL

이 문서는 WAL 에 대한 문서이다. Index WAL: WAL 에 대한 개요를 설명한다. Functions: WAL/MANIFEST  관련 함수들에 대한 설명이다. MANIFEST 와 WAL 에서 사용하는 함수들이… 더 보기 »1.1. WAL