google / google/leveldb

How seek compaction works?

Open
#857 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
39.4k
Forks
8.2k
PR merge metrics
No merged PRs in 30d

Description

Hello,

My team and I were using levelDB for our service. We found out that disabling seek compaction enhances our system speed.

We are wondering if we need write all the data to a new DB from the start.

I thought enabling the seek compaction will make levelDB with more levels. And disabling it will make a DB with less levels, ultimately.
My teammate think turning on and off the seek compaction will only impact the timing. So, ultimately, the DB will be in the same state whether the seek compaction is on or off. Therefore, the DB will ultimately be the same, with same levels.
Which one is right? Do we need to construct a new DB for speed improvement? Or we can just use the DB without seek compaction from now on?

p.s. We've tested and found out that turning off seek compaction will make less `.ldb` files. (It had more than 2 times difference.) From this test, can we say seek compaction has impact on levels, ultimately?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.