Re:Pgvector – vector similarity search for Postgres
by phenkdo on Thursday April 22, 2021 @01:52PM
(#26905710)
how does this do with large-scale searches >10M+ rows? any benchmarks on performance?
[ Parent
| on HN ]
Re:Pgvector – vector similarity search for Postgres
by gk1 on Thursday April 22, 2021 @03:24PM
(#26907014)
Since the answer, in minxomat's words, is "terrible," maybe look at Pinecone (https://www.pinecone.io) which makes light work of searching through 10M+ rows. It sits alongside, not inside, your Postgres (or whatever) warehouse.
Disclosure: I work there.
Re:Pgvector – vector similarity search for Postgres
by fzysingularity on Thursday April 22, 2021 @10:51PM
(#26910526)
Out of curiosity, what kind of performance do you get with 100M rows with pinecone? Looking at your pricing tiers, ~100M rows would need ~200GB memory, and @ $0.1 / GB / hr that's $20 / hr if I'm not mistaken?
Also, can you join with existing SQL tables to do hybrid searches in pinecone?
Re:Pgvector – vector similarity search for Postgres
by gk1 on Friday April 23, 2021 @12:02AM
(#26910857)
Our performance is independent of the collection size, thanks to dynamic sharding. You can expect 50-100ms pretty much regardless of size.
We don't support external SQL joins yet. Depending on what you're trying to do, we have an upcoming feature that might do the job.
At 100M vectors you're well into "volume discount" territory. Even more so with 3B vectors, as you mentioned in another comment. The free trial is capped at 10GB but shoot me an email ([email protected]) to get around it for a proper test and pricing estimate.
Re:Pgvector – vector similarity search for Postgres
by minxomat on Thursday April 22, 2021 @02:47PM
(#26906517)
Oh it's terrible. More educational. You'd never ever want to do a full-scan cosine matching in production. Use locality sensitive hashing (with optimizations like amplification, SuperBit or DenseFly) for real world workloads.
Re:Pgvector – vector similarity search for Postgres
by fzysingularity on Thursday April 22, 2021 @10:44PM
(#26910497)
Others have pointed this out already, but have a look at Milvus (https://github.com/milvus-io/milvus). I was able to get a simple version of it running with searches over ~3B vectors in under a second on a single machine (with out of the box configuration, and practically no optimization done just yet).