Skip to content(if available)orjump to list(if available)

Ask HN: Alternatives to Vector DB?

Ask HN: Alternatives to Vector DB?

37 comments

·March 18, 2025

A while back I was looking for a vector database that would work across Windows / Mac / Linux platforms. Some of the options required specific processors like Intel. I am curious if there are any alternatives to a Vector DB that can run cross platform and are easy to setup?

romanhn

There's Postgres with pgvector extension.

bilater

yup keep it simple. hybrid search on supabase with keyword + pg vector. use a good embedding model with inner product (not cosine so its faster). there was a good article about learnings in this space recently here https://news.ycombinator.com/item?id=43299659

saturn_vk

Do you have recommendations for embedding models?

dghlsakjg

This would be my vote.

There are probably more performant options, but for universality, you are best off going with a popular SQL DB that has vector extensions or support. SQLLite is another option if you want even more portability.

muzani

pgvector is very performant for tiny scale, especially if they don't expect to update the knowledge base constantly and don't care about millisecond differences in speed. It's also probably the only major vector db with ACID. And it's substantially cheaper than many others.

I haven't looked into SQLite and such, but many of the other SQL type of options were not good last I checked. And it takes quite a bit of effort to dig through them because all of these will show research that puts themselves as the best lol.

redskyluan

How is pg performed on windows? Never tried before

tmaly

I have used pg years ago on windows when it was like version 7, so I suspect it still works well.

codingmoney

You can try Milvus, Weaviate, or Qdrant. They all support multiple platforms and are relatively easy to set up.

miZero0

+1 for Weaviate. It’s free, open source, cross platform and has a very active developer community with good docs/events/hackathons. Really friendly people to deal with in their community Slack too.

carlbren

I use usearch for the engine https://github.com/unum-cloud/usearch/. It's fast. The vectors are stored in DB and added to usearch at startup for retreival. There is also FAISS.

geuis

Postgres with pgvector extension. Have been using it in production for months and it works great.

bobosha

We used Qdrant in production - it's a solid vector db offering and highly recommend. However we are moving everything to Postgres with pgvector for simplicity i.e fewer moving parts. It was a PITA keeping data synced between pgsql <> qdrant.

bitforge

mind sharing what your embedding generation architecture looks like and what data sync issues you've encountered?

babyent

Why not a Kafka pipeline?

schreiaj

SQLite via libsql is my go to for lightweight stuff.

Has vector embedding columns out of the box.

tmaly

Thanks! I had no idea this existed.

andre-z

Qdrant runs on Linux/Mac/Windows and on x86/ARM processors

yawnxyz

if you have small data requirements (less than 100mb) I just run FAISS for embeddings and store the rows of data and vectors in JSON.

I then have a small python script to run a vector similarity algo like cosine similarity or whatever. It's not the fanciest or most efficient, but it works surprisingly well.

I use it to search/rank my own blog posts (~300+) for relevancy. So the entire thing is only like 10mb. Probably will get super slow for really large dataasets

samber

Elasticsearch is a good bet, if you need to use multiple filters with your queries, and when you grow above the acceptable size of an in-memory database.

OutOfHere

If you strictly want things that are not vector databases, you can choose to categorize each item with multi-hierarchical categories. To query, just filter for items belonging to the categories that interest you. As a bonus, this approach is a lot more interpretable than using embeddings.

jankovicsandras

Postgres is a good idea.

Shameless plug: https://github.com/jankovicsandras/plpgsql_bm25

BM25 search implemented in PL/pgSQL, there's also an example of Hybrid (BM25+pgvector) search in the repo.

BenoitP

Brute force it. Gemm routines can give you a best dot product among 300k vectors well under a second