speedb-io/speedb

Efficient prefix exists functionality

Opened this issue · 0 comments

Owner:

Is your feature request related to a problem? Please describe.
Currently, my service is performing thousands of prefix matches per second to check if a given prefix matches any key in a cf/db. The current approach I'm using is to do a seek to the prefix and if found then return true otherwise return false.

My setup is as follows:

say my key format is: <uid>:<some dynamic value>
my prefix extractor is setup to to extract the <uid>
my prefix exists check are in the form of: <uid>:<some prefix> so while i always have the uid and I am benefiting from the prefix extractor/prefix bloom. I still have to seek to to check if there exists a key that starts with this prefix

Describe the solution you'd like
from talking with some speedb folks, it appears there is a more efficient way to check if a prefix matches any key in the cf without doing a seek. This also seems to be a common ask/request as seen in https://discord.com/channels/1001437353312796782/1155630646543265883