Skip to content

Releases: tensorchord/VectorChord

0.4.2

29 May 23:46
Compare
Choose a tag to compare

VectorChord 0.4.2 Release Notes

  • fix compilation on aarch64 macos
  • add support for pgxnclient: you can install VectorChord with pgxnclient install vchord==0.4.2 now

Full Changelog: 0.4.1...0.4.2

0.4.1

24 May 09:54
Compare
Choose a tag to compare

VectorChord 0.4.1 Release Notes

  • Fix potential precision issue if the dimension of vectors is 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768.

Full Changelog: 0.4.0...0.4.1

0.4.0

23 May 18:18
Compare
Choose a tag to compare

VectorChord 0.4 Release Notes


Major Improvements

  • Streaming I/O & Page Prefetch

    • Complete rewrite of page layout to enable pipelined computation with streaming I/O.
    • On PostgreSQL 17, uses fadvise to prefetch buffers into the OS page cache, eliminating per-buffer read waits and fully leveraging disk throughput.
    • In upcoming PostgreSQL 18, direct support for io_uring will further streamline asynchronous I/O.
    • Benchmarks: 2–3× lower latency on cold queries (no buffer or page cache), translating to significantly improved tail latency in production.
  • Prefilter Acceleration

    • Introduces true prefilter support for vector + filter queries.
    • Previous postfilter approach ranked full result sets and then applied filters—inefficient when selectivity is low (e.g., 1% filter rate).
    • Applies SQL filters before full precision vector distance computations, avoiding unnecessary work.
    • Benchmarks: Up to 3× faster end-to-end search on highly selective filters without any additional tuning.

Other Improvements

  • Optimized Residual Quantization

    • Collaboration with RaBitQ author Jianyang: refactored distance term $|⟨o, q–c⟩|$ into $⟨o, q⟩ – ⟨o, c⟩$, so the query vector is quantized only once.
    • Result: ~20% QPS improvement over 0.3.
    • Recommendation: Enable residual quantization for L2 workloads.
  • Fast Walsh-Hadamard Transform for Rotation

    • Collaboration with RaBitQ author Jianyang: replaced manual vchordrq.prewarm_dim GUC with an on-the-fly Fast Walsh-Hadamard Transform.
    • Removes the need to configure a prewarmed dimension list and yields marginal speed gains during setup.

Thank you for using VectorChord! As always, we welcome feedback and contributions on GitHub.

Full Changelog: 0.3.0...0.4.0

0.3.0

11 Apr 08:11
Compare
Choose a tag to compare

Features

Native support for the maxsim operator and efficient indexing inspired by XTR-WARP project. This makes it possible to build ColBERT- or ColPaLI-style multi-vector retrieval applications seamlessly within PostgreSQL.

Improvements

  • More KMeans parameters can be configured
  • Better progress report for internal KMeans build

What's Changed

Full Changelog: 0.2.2...0.3.0

0.2.2

18 Mar 12:31
63e2549
Compare
Choose a tag to compare

What's Changed

Full Changelog: 0.2.1...0.2.2

0.2.1

19 Feb 13:05
0849b18
Compare
Choose a tag to compare

Major Improvement

We optimize the external centroid index building speed, about 30%. Now it takes about 30h to build index for 100M vectors with only 4 vcpu on i4i.xlarge.

What's Changed

  • refactor: move algorithm to a crate by @usamoi in #172
  • feat: pinning index in memory when building, second try by @usamoi in #181
  • fix: use linked list of vectors to skip realloc by @usamoi in #182
  • feat: use select algorithm to replace heap, if k in top-k is expected to be small by @usamoi in #183
  • ci: install pg13 in docker image by @usamoi in #186
  • ci: use less docker by @usamoi in #187
  • feat: rerank by fetching vectors in heap table by @usamoi in #189
  • ci: enable CI for pg13 by @usamoi in #185
  • chore: update dependencies by @usamoi in #190
  • refactor: remove meaningless target feature requirements by @usamoi in #192
  • fix: test simd operations in emulator by @usamoi in #193
  • feat: neon impl of u8::reduce_sum_of_x by @usamoi in #194
  • chore: update 0.2.1 schema (upgrade) script by @usamoi in #195

Full Changelog: 0.2.0...0.2.1

0.2.0

27 Jan 05:47
7472faf
Compare
Choose a tag to compare

VectorChord 0.2 Release Notes

We are thrilled to announce the release of VectorChord 0.2, advancing vector search capabilities within PostgreSQL.

🚀 New Features

Optimized Storage Layout

  • Long Cross-Page Vector Support: Redesigned internal storage allows vectors to span multiple 8KB PostgreSQL pages, enabling support for vectors with over 2000 dimensions, up to 16000 dim.
  • Enhanced Storage Efficiency: Achieves higher storage density by minimizing wasted space, reducing index size by up to 50% compared to version 0.1.

Additional Data Types

  • Float16 Support: Introduces Float16 data type, allowing users to halve the storage space required with a slight decrease in recall. Note that Float16 does not reduce the size of quantized vectors, maintaining 1 bit per dimension for original vector representation.

Architecture Enhancements

  • ARM Architecture Support: Rewritten distance calculations and Fast Scan implementations using the Scalable Vector Extension (SVE) instruction set for optimal performance on ARM-based systems.
  • AWS Graviton4 Compatibility: Leverage the latest i8g platform based on Graviton4 processors for improved performance at the same cost as i4i models.

⚡ Performance Improvements

  • Reduced Index Size: Up to 50% reduction in index size compared to version 0.1.

🔧 Getting Started

  • Comprehensive getting started guides will be available soon.

📝 Summary

VectorChord 0.2 introduces support for high-dimensional vectors, Float16 data type, ARM architecture optimizations, and a more compact storage layout. These enhancements collectively improve storage efficiency and query performance, providing a superior vector retrieval experience within PostgreSQL.

What's Changed

New Contributors

Full Changelog: 0.1.0...0.2.0

0.1.1-alpha.1

18 Dec 14:32
f88b1ac
Compare
Choose a tag to compare
0.1.1-alpha.1 Pre-release
Pre-release

Highlights

  • Support fp16 vec
  • Support vector longer than 2000 dim

What's Changed

New Contributors

Full Changelog: 0.1.0...0.1.1-alpha.1

0.1.0

14 Nov 12:00
db1c2ed
Compare
Choose a tag to compare
chore: fix release ci (#85)

Signed-off-by: Keming <[email protected]>