pashkinelfe
Joined 4 years ago
Joined 4 years ago
Tables occupying more space than expected is a common complaint from Postgres users. I explained in simple terms what could (or should) be done to avoid this in real working conditions. And what kinds of workloads need special attention.
But, nowadays disk space is cheap, so most of us can relax while Postgres does what is needed.
- HNSW preserves index quality even after massive table updates and doesn't need to be rebuilt
- HNSW search is several times faster than IVF for high accuracy. For lower accuracy likely even more.
- Pgvector/HNSW became faster than qdrant
- IVFflat build time decreased two-times in 0.5.0
- HNSW index could be built incrementally, you don't need to add all embeddings before index build
But the real jewel in the crown is HNSW support that makes pgvector much faster than the competitors (the measurements with thorough and transparent description of method are in the linked blog post).
The blogpost is very thorough, lots of measurements of different datasets, including great 1536-dimensional 1M rows dbpedia-openai dataset. Furthermore, a very strong point is that all parameters and method is described and transparent.
So bigger CPU load and bigger performance mean that parallelising of tasks is more efficient, which is a clear benefit.
[1] https://www.orioledb.com/blog/orioledb-beta7-benchmarks
[2] https://www.socallinuxexpo.org/sites/default/files/presentat...
Thanks to Brian Misachi who did the test and shared the results!