You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We can do a much better job at loading filter blocks. We currently either use them (blocking a Get) or don't use them at all. Ideally, we would load larger blocks that are valuable in the background.
Here's a proposal:
blocks not in L6 and under a certain size (e.g. 128KB) are loaded inline with the query, like today
larger blocks we do not load immediately but maintain a metadata-only cache for them, where we record how many times they would have been useful - i.e. how many SeekPrefixGE found no results with the prefix. Once we have enough "hits", we load the block in the background. The number of hits required should be proportional to the size (e.g. must have size/128KB recent "hits").
ideally for the block cache, only the times where the block actually helped exclude something should be counted as a "hit"
#3734 should also be kept in mind. We might eventually have multiple filter blocks of different sizes which we use in various combinations depending on level.
This is inspired from https:/cockroachlabs/support/issues/2992 and #3787
We can do a much better job at loading filter blocks. We currently either use them (blocking a Get) or don't use them at all. Ideally, we would load larger blocks that are valuable in the background.
Here's a proposal:
SeekPrefixGE
found no results with the prefix. Once we have enough "hits", we load the block in the background. The number of hits required should be proportional to the size (e.g. must havesize/128KB
recent "hits").#3734 should also be kept in mind. We might eventually have multiple filter blocks of different sizes which we use in various combinations depending on level.
Jira issue: PEBBLE-226
The text was updated successfully, but these errors were encountered: