New Features 🎉
Index Renamed to paradedb
paradedb is now the primary index access method name. Creating an index now looks like:
USING bm25 has been deprecated but continues to work as a backwards-compatible alias.
At the time of this release, the ParadeDB ORMs have not yet been updated and
still use the
bm25 naming. They will be updated shortly.Native Vector Search (Beta)
The ParadeDB index can now index thevector type. This index is completely separate from pgvector’s HNSW/IVF indexes:
- Vectors are backed by a SPANN-style index, the state-of-the-art in vector search designed for datasets that are far larger than available memory.
- Vectors sit alongside text and numeric fields, so filters, full text search, and ordering by vector similarity are pushed down into a single index scan.
MPP Partitioning
When run with parallel workers, the join and aggregate scans (enabled by default in the0.24.x series) now use a massively parallel processing (MPP) partitioning strategy to assign work.
The previous partitioning strategy for these scans meant that only a limited number of join shapes could be supported, and entirely prevented parallelism in aggregates atop joins.
Via the MPP strategy, join and aggregate scans will now cut their execution plans into multiple shared-nothing stages, allowing for both increased scalability and support for additional join shapes (with more to follow.)
This is an active area of work, so please expect further performance and generality improvements to joins, and continue to report bugs as soon as you see them!
Ltree Support
ltree hierarchy queries using the <@ operator now use the index instead of falling back to a heap-side filter.
Index Build Progress
CREATE INDEX now reports tuples_done in pg_stat_progress_create_index, making it possible to monitor index build progress with standard Postgres tooling.
Performance Improvements 🚀
- Block-WAND is now used for score-ordered joins.
- Top-K queries atop joins now perform MVCC visibility checking inline rather than as a separate filter step.
- Improved top-K selection and candidate materialization atop joins.
- Improved multi-buffer read caching.
Stability Improvements 💪
@@@now preserves null semantics.ORDER BYpushdown now accounts for collation.- Fixed several MVCC and
VACUUMissues involving mutable segments.
New Contributors 👋
- aadi-joshi
- agrawalx
- anatolykoptev
- carlsverre
- cjerian
- devdattatalele
- iamnamananand996
- likern
- mvanhorn
- Rohan-Singla
- theanuragg
- walter-woodall