2.5. Bloom Filter
(출처:https://en.wikipedia.org/wiki/Bloom_filter) 블룸 필터는 데이터 블록에 특정 key의 데이터가 존재하는지 빠르게 확인할 수 있는 확률적 자료 구조이다. db_bench에선 bloom_bits의 값을 조절하여 자신이 원하는 크기의 블룸 필터를… 더 보기 »2.5. Bloom Filter
benchmark-experiment
(출처:https://en.wikipedia.org/wiki/Bloom_filter) 블룸 필터는 데이터 블록에 특정 key의 데이터가 존재하는지 빠르게 확인할 수 있는 확률적 자료 구조이다. db_bench에선 bloom_bits의 값을 조절하여 자신이 원하는 크기의 블룸 필터를… 더 보기 »2.5. Bloom Filter
SSTable은 key-value pair들을 담는 Data Block, 각 Data Block들에 대한 블룸필터를 갖고 있는 Filter Block 등으로 구성된다. 이 때 LevelDB 핸드북에는 Filter Block과 관련해 다음과… 더 보기 »2.4. SSTable
실험 환경 Key와 Value의 크기가 Compaction에 영향을 주게 된다 생각되어 실험을 하게되었습니다. Various Key Size Various Value Size 16 byte 256 byte 32 byte 1… 더 보기 »2.3. Compaction
실험환경 주요변경옵션 leveldb 부분 구조 (memtable부분) write_buffer_size = memtable 하나의 최대 크기 default = 4M max_file_size = memtable 안에 들어가 있는 sst파일의 최대 크기 default… 더 보기 »2.2. Memtable
Option – Manual_wal_flush DB::put이 호출되면 데이터는 memtable에 쓰이고 WAL이 켜져 있다면 WAL에도 쓰인다. 애플리케이션 메모리 버퍼에 먼저 기록되고 버퍼는 fwrite syscall을 호출하여 OS 버퍼로 플러시… 더 보기 »2.1-3. WAL-3
Option – Max_total_wal_size Hypothesis column family들은 각각의 ssTable을 갖지만 WAL은 공유한다.하나의 column family가 flush 될 때마다 새 WAL이 생성된다.그리고 모든 column families에 대한 쓰기는 새… 더 보기 »2.1-2. WAL-2
Option – Disable_WAL LevelDB 의 경우 db_bench 를 실행하며 WAL 을 사용할지 말지에 대한 옵션이 존재하지 않는다. 반면 LevelDB 를 기반으로 만든 RocksDB 의 경우… 더 보기 »2.1-1. WAL-1
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/randomreadrandom PPT 3 Compaction –base_background_compactions–compaction_style fillseq/randomreadseq/randomseekrandom PPT… 더 보기 »2.0. Experiment guide