Add support for predicate pushdown
- Dominant language
- C++
- Stars
- 16.7k
- Forks
- 1.6k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 126
Description
Currently, a lot of simple queries can only be implemented in very inefficient ways because there is no ability to filter or aggregate results on the server processes.
For instance, if you want to count the number of keys in a range, currently a client would have to read all the the data in that range to calculate that count.
One challenge with adding this feature is determining how the server processes will understand and parse user data. However, even a very limited method of parsing to begin with could provide a lot of value.
Contributor guide
Research direction
Start by reviewing the server-process query path and how user data is currently interpreted. Use the range-count example to define the initial filtering or aggregation behavior, then determine how server processes should parse the supported data. Done means simple queries can perform filtering or aggregation on the server instead of reading the full range to the client.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- databases, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100