Ideas
Open
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 23.1k
- Forks
- 1.3k
- PR merge metrics
- No merged PRs in 30d
Description
Please create a new issue to discuss any ideas or share your own.
HNSW
- Add support for streaming I/O -
hnsw-read-stream3branch - Use
TidStorefor vacuuming for Postgres 17+ -hnsw-tidstore2branch - Improve colocation of neighbors on disk for index builds -
hnsw-build-orderbranch - Add support for inline filtering
- Add time budget option -
time-budgetbranch - Use
scan->kill_prior_tuple-kill-prior-tuplebranch (WIP) - Add support for index-only scans -
hnsw-index-only-v2branch - Add support for
INCLUDEclause withCREATE INDEX(not more performant since still accesses heap) - Improve performance of on-disk index builds by keeping neighbors and
closerin memory
IVFFlat
- Add support for inline filtering -
ivfflat-filteringbranch (needs different design for better performance) - Add support for product quantization
- Add support for another coarse quantizer
- Add support for parallel k-means
- Update parallel workers calculation -
ivfflat-parallel-workersbranch - Increase default value of
ivfflat.probes - Add support for setting default probes on index level
- Scan additional lists if number of entries is low after scanning
probes - Use pairing heap for index scan for performance -
stagesandpairingheapbranches - Use
tuplesort_set_boundfor performance -boundbranch (not needed w/ pairing heap) - Add support for parallel index scans (planner gets cost estimate but doesn't use) -
parallel-index-scan4branch - Use Lloyd's or MO-Elkan's k-means when not enough memory for Elkan's
- Use FB-Elkan's k-means for faster index creation
- Use mini-batch k-means for index creation for reduced memory -
minibatchbranch - Add support for index-only scans -
ivfflat-index-onlybranch - Add support for
INCLUDEclause withCREATE INDEX - Prevent compression for index tuples -
ivfflat-storagebranch
Indexes
- Switch to
ExtendBufferedRel-extend-buffered-relbranch - Include vectors with zero norm in indexes for cosine distance -
index-zero-normbranch
Types
- Add support for fp8 vectors (e4m3) -
minivecbranch - Add support for int8 vectors -
intvecbranch
Functions
- Add subscript function -
subscriptbranch (requires Postgres 14+) - Add
angular_distancefunction -angular_distancebranch - #234 - Add
random_vectorfunction -random_vectorbranch - Add functions to view lists and/or pages like pageinspect (require superuser)
- Add function to estimate index balance (require superuser?) - #105
Installation
- Create installer for Windows - #108
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
This is a broad backlog rather than a single task, with proposals spanning HNSW, IVFFlat, indexes, types, functions, and installation. Choose one unchecked item, then review its named branch or linked paper when available; the issue does not specify a single entry point, test, or completion criterion.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, postgresql
- Domain
- databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100