Live data from Hacker News

Choosing vector database: a side-by-side comparison

benchmark.vectorview.ai

11–20 of 125 posts

Re: Choosing vector database: a side-by-side comparison

#11

I really appreciate comparisons like this, although I find myself wanting to know more about why certain things are listed the way they are. For example, pgvector is listed as not having role-based access control, but the Postgres manual dedicates an entire chapter to it: https://www.postgresql.org/docs/current/user-manag.html Hence why I’d be interested to know more about the supporting details for the different cat…

Same for Developer experience. If you used Postgres or any other relational db (which I think covers a large % of devs), you could easily argue the dev experience is 3/3 for pgvector.

Re: Choosing vector database: a side-by-side comparison

#12
I don't think we need specialized databases for vectors. Relational databases can easily be expanded by vector data types and operations. They will eventually catch up by supporting what was once a unique feature of the new system: https://medium.com/@magda7817/two-things-to-keep-in-mind-bef...

Re: Choosing vector database: a side-by-side comparison

#13
Nice post! I think this could be a very good page to bookmark.

There is also this series of articles detailing the options and it includes some that the OP is missing: https://thedataquarry.com/posts/vector-db-1/#key-takeaways

I'm currently in the market for a self hosted DB for a personal project. The project is an app you can run on your own system and provide QA on your text files. So I'm looking for something light weight, but I'm also looking for the best possible search and ANN retrieval is just a single part of that.

Re: Choosing vector database: a side-by-side comparison

#14
I'd love to know how vector databases compare in their ability to do hybrid queries, vector similarity filtered by metadata values. For example, find the 100 items with the closest cosine similarity where genre = jazz and publication date between 1990 and 2000.

Can the vector index operate on a subset of records? Or when searching for 100 closest matches does the database have to find 1000 matches and then apply the metadata filter, and hope that doesn't reduce the result set down to zero and exclude relevant vectors?

It seems like measuring precision and recall for hybrid queries would be illuminating.

Re: Choosing vector database: a side-by-side comparison

#15

Everyone I talk to who is building some vector db based thing sooner or later realizes they also care about the features of a full-text search engine. They care about filtering, they care to some degree about direct lexical matches, they care about paging, getting groups / facet counts, etc. Vectors, IMO, are just one feature that a regular search engine should have. IMO currently Vespa does the best job of this, tho…

Vector search is not exclusively in the domain of text search. There is always image/video search.

But pre-filtering is important, since you want to reduce the set of items to be matched on and it feels like Elasticsearch/OpenSearch are fairing better in this regard. Mixed scoring derived from both both sparse and dense calculations is also important, which is another strength of ES/OS.

Re: Choosing vector database: a side-by-side comparison

#16
post #14

I'd love to know how vector databases compare in their ability to do hybrid queries, vector similarity filtered by metadata values. For example, find the 100 items with the closest cosine similarity where genre = jazz and publication date between 1990 and 2000. Can the vector index operate on a subset of records? Or when searching for 100 closest matches does the database have to find 1000 matches and then apply the…

> do hybrid queries

"no" - the graph objects after training are opaque AFAIK

Re: Choosing vector database: a side-by-side comparison

#17

I really appreciate comparisons like this, although I find myself wanting to know more about why certain things are listed the way they are. For example, pgvector is listed as not having role-based access control, but the Postgres manual dedicates an entire chapter to it: https://www.postgresql.org/docs/current/user-manag.html Hence why I’d be interested to know more about the supporting details for the different cat…

Totally agree with the puzzling assortment of a rubric. PostgreSQL supports role based-access control, RBAC. Not to mention, with PostgreSQL and the pgvector extension, you have a whole list of languages ready to use it:

C++ pgvector-cpp C# pgvector-dotnet Crystal pgvector-crystal Dart pgvector-dart Elixir pgvector-elixir Go pgvector-go Haskell pgvector-haskell Java, Scala pgvector-java Julia pgvector-julia Lua pgvector-lua Node.js pgvector-node Perl pgvector-perl PHP pgvector-php Python pgvector-python R pgvector-r Ruby pgvector-ruby, Neighbor Rust pgvector-rust Swift pgvector-swift

Wonder how many of those other Vector databases play nice.

Re: Choosing vector database: a side-by-side comparison

#18
post #8

Pricing for pg should be easy to compute 20M vectors @768 is about 62GB, for 32bit, not even quantized. AWS RDS will put it at 83USD/m (db.t4g.small, 2vcpu 2GB RAM). But that's not with egress, backups, etc Seems acceptable at least for a POC? A better option if you already have the data in the same instance, but developer experience being low scares me. Anyone tried it? How did it go?

You will be able to store the data but no query it.

Vector indexes are very large, almost the size of the original data, and that needs to fit into the database memory ideally.

Re: Choosing vector database: a side-by-side comparison

#19
post #14

I'd love to know how vector databases compare in their ability to do hybrid queries, vector similarity filtered by metadata values. For example, find the 100 items with the closest cosine similarity where genre = jazz and publication date between 1990 and 2000. Can the vector index operate on a subset of records? Or when searching for 100 closest matches does the database have to find 1000 matches and then apply the…

There is on-stage filtering approach with extended HNSW https://qdrant.tech/articles/filtrable-hnsw/

Re: Choosing vector database: a side-by-side comparison

#20

I really appreciate comparisons like this, although I find myself wanting to know more about why certain things are listed the way they are. For example, pgvector is listed as not having role-based access control, but the Postgres manual dedicates an entire chapter to it: https://www.postgresql.org/docs/current/user-manag.html Hence why I’d be interested to know more about the supporting details for the different cat…

Possibly / quite probably whoever wrote this knows very little about postgres.
Post reply on HN