Topics / Benchmarks / Options
| No | Topic | Benchmarks | Options | Result | 
|---|---|---|---|---|
| 1 | WAL/Manifest | –disable_wal –wal_bytes_per_sync  | fillseq/random | PPT | 
| 2 | Memtable | –write_buffer_size –max_file_size  | fillseq/random readrandom  | PPT | 
| 3 | Compaction | –base_background_compactions –compaction_style  | fillseq/random readseq/random seekrandom  | PPT | 
| 4 | SSTable | –write_buffer_size –max_file_size –block_size  | fillseq/random readseq/random seekrandom  | PPT | 
| 5 | Bloom Filter | –bloom_bits | readhot/random seekrandom  | PPT | 
| 6 | Cache | –cache_size –block_size  | readhot/random seekrandom  | PPT | 
5 Steps of Experiment
Hypothesis
- What changes will be happen internally, if option changes?
 - How will internal changes affect the metrics?
 - What result and graph do you expect?
 
Design
- Do the simplest and smallest experiment that can test your hypothesis.
 - Do not experiment with multiple independent variables at once from the beginning.
 - Do not let uncontrolled variables ruin your experiment.
 - Variables
- Independent
- Options, Benchmarks, # of KV pairs
 
 - Dependent
- Metrics (Throughput, Latency, WAF/SAF/RAF)
 
 - Controlled
- Enviornment, Page Cache, Compile Options, Existing DB, Compression Ratio, Bloom Filter Bits
 
 
 - Independent
 
Run Experiment
- Please use shell/python script.
- echo, redirection, pyplot, …
 
 - Do not change experiment enviornment.
 
- Please use shell/python script.
 Result and Discussion
- Draw graphs and figures that explain experiments.
 - Verify your idea and hypothesis with result.
 - Explain why your hypothesis is correct or not.
 
Presentation
- Present your experiments in 10 minutes.
 - Write a document that explains your experiment.
- git-book