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

Improve the BatchGet behavior for TiKV #162

Open
shafreeck opened this issue Dec 26, 2019 · 0 comments
Open

Improve the BatchGet behavior for TiKV #162

shafreeck opened this issue Dec 26, 2019 · 0 comments
Labels
enhancement New feature or request
Milestone

Comments

@shafreeck
Copy link
Contributor

shafreeck commented Dec 26, 2019

Set the iterator bound when using BatchGet.

Think about this case, we have two keys: a, z and there are 1 million keys are deleted between a and z. When we look up the key b, RocksDB internal will scan over all the 1 million invisible keys and return the next visible key which is z. It is a big overhead here. RocksDB supports to set the iterator bound like c which will stop scanning when meeting the bound.

In the BatchGet case, Ex. mget b e, It is not necessary to return z when seeks b.

About this issue, you should do these following things:

  • Verify RocksDB that behave like what described above.
  • Figure out how the BatchGet in TiKV implemented, and why to use an iterator to look up a key.
  • Improve the TiKV implementation and the Titan code.
@shafreeck shafreeck added the enhancement New feature or request label Dec 26, 2019
@shafreeck shafreeck modified the milestone: Release 1.0 Jan 17, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant