Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

db: benchmark RANGEDEL performance for compactions and iterators #1295

Open
sumeerbhola opened this issue Sep 29, 2021 · 4 comments
Open

db: benchmark RANGEDEL performance for compactions and iterators #1295

sumeerbhola opened this issue Sep 29, 2021 · 4 comments

Comments

@sumeerbhola
Copy link
Collaborator

sumeerbhola commented Sep 29, 2021

The performance implications of using "narrow" RANGEDELs are not quantified, and we've speculated about them in various discussions in the past. We also have code like the following in CockroachDB, which uses a heuristic that 64 point DELs are equivalent in performance to a single RANGEDEL

https://github.com/cockroachdb/cockroach/blob/6e343580b507cb5a91af49804b9ce573368636c8/pkg/storage/engine.go#L1003-L1019

Benchmarking this would give us a firmer grasp on reality, which may be different from when the above heuristic was chosen.

Jira issue: PEBBLE-242

@jbowens
Copy link
Collaborator

jbowens commented Sep 29, 2021

Related to #1185

@jbowens
Copy link
Collaborator

jbowens commented Oct 4, 2021

Separate from whether or not that heuristic is accurate with respect to the cost of the range tombstones versus point tombstones, I wonder if that heuristic triggers with any frequency? My understanding of the code is that ClearRangeWithHeuristic is only ever called to clear whole ranges. I would guess that it's exceedingly rare for a range to contain fewer than 64 keys and not worth the code maintenance?

@nicktrav
Copy link
Contributor

There's some discussion of a very large clear range operation discussed here (internal).

Copy link

We have marked this issue as stale because it has been inactive for
18 months. If this issue is still relevant, removing the stale label
or adding a comment will keep it active. Otherwise, we'll close it
in 10 days to keep the issue queue tidy. Thank you for your
contribution to Pebble!

@jbowens jbowens added this to Storage Jun 4, 2024
@jbowens jbowens moved this to Done in Storage Jun 4, 2024
@nicktrav nicktrav reopened this Aug 15, 2024
@nicktrav nicktrav moved this from Done to Backlog in Storage Aug 15, 2024
@github-actions github-actions bot removed the X-stale label Aug 19, 2024
@github-project-automation github-project-automation bot moved this from Backlog to Done in Storage Aug 29, 2024
@jbowens jbowens reopened this Aug 29, 2024
@github-project-automation github-project-automation bot moved this from Done to Incoming in Storage Aug 29, 2024
@jbowens jbowens moved this from Incoming to Backlog in Storage Aug 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Backlog
Development

No branches or pull requests

3 participants