2022년 하계 방학 중 진행한 스터디
Google에서 만든 Key-value store인 LevelDB를 소스코드 수준에서 분석하고,
여러 가지 option들을 수정하며 성능 분석 및 튜닝을 진행하고 관련 문서들을 작성함
2022.07.05 ~ 2022.09.11
DKU System Software Lab의 홈페이지에서 스터디 내용들을 전자책으로도 편하게 읽어볼 수 있음.
LevelDB에서 storage(disk)단에서 key-value pair들을 저장하는데 쓰이는 자료구조인 SSTable
에 대해 소스 코드 수준에서 분석함.
- SSTable format
- SSTable read
- SSTable write
- SSTable read 관련 분석 녹화본
여러 가지 option들을 주면서 각각의 상황에서 성능을 측정하고 그렇게 나온 이유에 대해 논의함.
이 외에도 Bloom Filter를 사용했을 때와 안 했을 때의 읽기 성능 차이 등을 측정함.
SSTable
과 관련하여, Bloom Filter를 쓰지 않으면 Filter Block을 쓰지 않으므로 쓰기 성능이 높아질 것이라 예측하고 이에 관한 성능 측정 및 분석도 진행함.
여러 option값들을 최적의 값으로 튜닝하고, 각 workload 수행의 평균 throughput이 가장 높게 측정되는 팀을 가려내는 대회를 진행.
YSCB Workload
에 대해 진행했고 1등으로 마무리함.
이하 원본 레포지토리 내용 전문
2022 DKU System Software Lab LevelDB Study
- Study LevelDB.
- Analyze LevelDB
- Write LevelDB analysis document.
- Tuning Contest: YCSB
- Write a research paper on what you learned.
- Student:
- 1.WAL/Manifest: Isu Kim, Seyeon Park , Suhwan Shin
- 2.Memtable: Taegyu Cho , Zhu Yongjie
- 3.Compaction: Sangwoo Kang, Seoyoung Park, Zhao Guangxun
- 4.SSTable: Jongki Park, Sanghyun Cho
- 5.Bloom Filter: Hansu Kim
- 6.Cache: Seungwon Ha, Subin Hong
- Assistant: Min-guk Choi
- Senior Assistant: Sounghyoun Lee, Hojin Shin
- Professor: Jongmoo Choi, Seehwan Yoo
- 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 |
- Documents
- LevelDB Document
- RocksDB Wiki
- Jongmoo Choi,『Key-Value Store: Database for Unstructured Bigdata』, 2021
- Fenggang Wu, 『LevelDB Introduction』, 2016
- rjl493456442, 『leveldb-handbook (CHS)』, 2022
- rsy56640, 『read_and_analyse_levelDB (CHS)』
- FOCUS,『LevelDB fully parsed (CHS)』
- bloomingTony, 『Research on Network and Storage Technology(CHS)』
- 木鸟杂记,『Talking about LevelDB data structure (CHS)』, 2021
- Lecture
- Analysis Tools
- Previous Study