cockroachdb / cockroachdb/pebble

db: Double Lazy Seek Positioning

Open
#5,344 0 comments 0 reactions 0 assignees View on GitHub
A-storage T-storage
Dominant language
Go
Stars
6k
Forks
584
Avg merge
16h 35m
Merged PRs (30d)
5

Description

In #2002 , we discuss the idea of deferring a SeekPrefixGE by making a synthetic key, with a largest timestamp
available in the SSTable which is stored in BlockProperty.

See #5256 for more details.

The idea is to avoid block reads until needed, i.e until key rises to the top of the heap. We can also implement this idea
after loading an index block, this will now **defer data block reads again**. Using the BlockProperty we can look for the largest
timestamp within the block our key is at, we can compare this timestamp to the one we currently have. If its less than our
current one, then we can create a synthetic key again, this time with the largest timestamp in the block our key is present.

The benefit is that, if THIS synthetic key we made here is now actually not on top of the heap, we saved the data block read.

Jira issue: PEBBLE-1190

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.