Live data from Hacker News

Choosing vector database: a side-by-side comparison

benchmark.vectorview.ai

1–10 of 125 posts

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

#2
I made this table to compare vector databases in order to help me choose the best one for a new project. I spent quite a few hours on it, so I wanted to share it here too in hopes it might help others as well. My main criteria when choosing vector DB were the speed, scalability, dx, community and price. You'll find all of the comparison parameters in the article.

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

#4
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 categories. It may help uncover some inadvertent errors in the analysis, but also would just serve as a useful jumping-off point for people doing their own research as well.

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

#5

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…

That stood out to me as well. I've been playing with pgvector, and there's no reason you can't use row/table role-based security.

I think there's an unmentioned benefit to using something like pgvector also. You don't need a separate relational database! In fact you can have foreign keys to your vectors/embeddings which is super powerful to me.

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

#7
Curious about the lack of Vespa, especially given the thoroughness of the article and its long-time reputation. OpenSearch is also missing, but perhaps it can be considered being lumped in with Elasticsearch due to them both being based on Lucene. The products are starting to diverge, so would be nice to see, especially since it is open-source.

For the performance-based columns, would be also helpful to see which versions were tested. There is so much attention lately for vector databases, that they all are making great strides forward. The Lucene updates are notable.

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

#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?

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

#9
I'll add txtai to the list: https://github.com/neuml/txtai

txtai is an all-in-one embeddings database for semantic search, LLM orchestration and language model workflows.

Embeddings databases are a union of vector indexes (sparse and dense), graph networks and relational databases. This enables vector search with SQL, topic modeling and retrieval augmented generation.

txtai adopts a local-first approach. A production-ready instance can be run locally within a single Python instance. It can also scale out when needed.

txtai can use Faiss, Hnswlib or Annoy as it's vector index backend. This is relevant in terms of the ANN-Benchmarks scores.

Disclaimer: I am the author of txtai

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

#10
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, though lately it seems Lucene (Elasticsearch and Opensearch) are really working hard to compete

Post reply on HN