New features:
- VBASE Mode Integration: pgvecto.rs integrates the cutting-edge VBASE method from OSDI 2023 and set it as default, substantially refining vector search efficiency within PostgreSQL. This enhancement not only accelerates the standard search process but also ensures accurate results, even when complex filters and join operations are applied.
- FP16 Support: Users can now store their embeddings in PostgreSQL using half the float32 size, significantly improving latency. Our experiments indicate that this optimization has a negligible impact on final recall less than 1%.
- Asynchronous Indexing: Insertion operations are now non-blocking, ensuring a smoother, more efficient data insertion and indexing process.
- Doubled Query Performance: pgvecto.rs 0.2 boasts a query performance that is twice as fast as that of 0.1, marking a significant leap forward in our system's efficiency.
- Enhanced Visibility into Internal Status: The new `pg_vector_index_stat` v offers users a transparent view into the indexing internals of pgvecto.rs. This feature allows for real-time monitoring of index construction, configuration adjustments, and detailed statistical analysis, fostering a more intuitive and controlled environment.
Breaking Changes:
- Schema Modification for Installation: pgvecto.rs has shifted its installation location from the public schema to the vectors schema. This change necessitates updates in schema references within your queries and scripts.
- Default Search Mode Update: The default search mode has been updated to VBASE. To revert to the basic search mode, users must manually execute the command SET vectors.search_mode = basic;. This change ensures that users benefit from the enhanced performance and accuracy of VBASE by default.
- Revised prefilter Option: The semantics of the prefilter option have been redefined. The prefilter option now specifically controls whether deleted points are skipped from the search process. Meanwhile, the filter scenarios previously handled by this option are now adeptly managed by the VBASE mode, which offers superior accuracy and performance.
- Index Compatibility and Reindexing Requirement: Indexes created with versions prior to 0.2 are not compatible with the 0.2 update. Users upgrading from earlier versions must reindex their data to ensure compatibility and to take full advantage of the new features and improvements introduced in pgvecto.rs 0.2.
Improvements
We've improved pgvecto.rs's reliability in this major release by adding more tests, improving error messages for easier troubleshooting, and refactoring the code for increased stability and smoother performance.