Cho-SangHyun / leveldb-study

Analyzing LevelDB at the source code level, measuring performance, and documenting

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LevelDB Study

2022년 하계 방학 중 진행한 스터디
Google에서 만든 Key-value store인 LevelDB를 소스코드 수준에서 분석하고,
여러 가지 option들을 수정하며 성능 분석 및 튜닝을 진행하고 관련 문서들을 작성함

스터디 기간

2022.07.05 ~ 2022.09.11

스터디 내용

DKU System Software Lab의 홈페이지에서 스터디 내용들을 전자책으로도 편하게 읽어볼 수 있음.

Analysis (at source code level)

LevelDB에서 storage(disk)단에서 key-value pair들을 저장하는데 쓰이는 자료구조인 SSTable에 대해 소스 코드 수준에서 분석함.

Benchmark

여러 가지 option들을 주면서 각각의 상황에서 성능을 측정하고 그렇게 나온 이유에 대해 논의함.

이 외에도 Bloom Filter를 사용했을 때와 안 했을 때의 읽기 성능 차이 등을 측정함.

SSTable과 관련하여, Bloom Filter를 쓰지 않으면 Filter Block을 쓰지 않으므로 쓰기 성능이 높아질 것이라 예측하고 이에 관한 성능 측정 및 분석도 진행함.

Tuning

여러 option값들을 최적의 값으로 튜닝하고, 각 workload 수행의 평균 throughput이 가장 높게 측정되는 팀을 가려내는 대회를 진행.
YSCB Workload에 대해 진행했고 1등으로 마무리함.



이하 원본 레포지토리 내용 전문

LevelDB Study

2022 DKU System Software Lab LevelDB Study

Goals

Members

Schedule

  • Date: Every Tuesday in July, August
  • Time: 14:00 ~ 16:00
  • Place: Dankook University Software ICT Hall Room 307
No Date Contents Details
Week 1 22-07-05 Introduction 1 What is key-value store?
Why open-source?
Week 2 22-07-12 Introduction 2 LevelDB Basics
LevelDB Install
Homework
Week 3 22-07-19 Introduction 3 Analysis Tools
Homework Solutions
Week 4 22-07-26 Benchmark Experiment LevelDB db_bench
Week 5
(zoom)
22-08-02 Analysis 1
Week 6 22-08-09 Analysis 2
Week 7 22-08-16 Tuning Contest YCSB
Week 8 22-08-23 Analysis 3
Week 9 22-08-31
16:00
Analysis 4
Wrap up
Photo, Dinner

Photo

Poster (KOR)

References

File

About

Analyzing LevelDB at the source code level, measuring performance, and documenting


Languages

Language:Shell 100.0%