One Store or Two

A product has 2 million 768-dimension embeddings, needs similarity results joined against relational rows inside the same transaction, and peaks at a few hundred queries per second. The team already runs Postgres. What is the reasonable call?

A

Keep the vectors in Postgres but compute similarity in the application tier, because indexing them in the database blocks writes

B

Use pgvector with an HNSW index, keeping vectors and rows in one database so joins and filters stay transactional

C

Move to a dedicated vector database, because Postgres can only run exact sequential scans over a vector column

D

Move to a dedicated vector database, because metadata predicates cannot be combined with similarity search in Postgres