Skip to content
Muhammet Şafak
tr

Expertise

Vector databases: pgvector, Milvus and Chroma, since 2024

Where the embeddings live is a system decision, not a tool choice: inside PostgreSQL, in a distributed database, or in an embedded prototype.

years
2

To me a vector database is a retrieval pipeline’s memory: embeddings go in, the closest records come out. This page covers a category rather than a single product; where each tool belongs makes sense inside the larger system described on the AI systems page.

I have worked with pgvector, Milvus and Chroma, and the three answer the same question differently. pgvector keeps vector search inside PostgreSQL, which is the first place I look when I want to start without operating a new system. Milvus comes in for large embedding collections. Chroma is the one that sets up fast and can run embedded in retrieval prototypes.

I pick the tool by data volume and operational load, not by popularity. I also prefer to state the cost of the choice: a separate database always means a separate thing to operate.

What is the Vector Databases: pgvector, Milvus, Chroma role?

A vector database stores embeddings, the arrays of numbers that represent text, images and other data, and finds the records closest in meaning to a query. This page covers the category rather than a single product: pgvector, Milvus and Chroma do the same job at different scales.

What does the Vector Databases: pgvector, Milvus, Chroma do?

In retrieval pipelines I decide where the embeddings live: keeping vector search inside PostgreSQL with pgvector, moving to Milvus for large collections, or starting fast with Chroma in a prototype. I choose by data volume and operational load, not by the name of the tool.

Technologies I pair it with

  • pgvector

    The extension that keeps vector search inside PostgreSQL instead of a separate store.

  • Milvus

    The distributed vector database I use for large embedding collections.

  • Chroma

    A vector database that can run embedded and sets up quickly for retrieval prototypes.

  • PostgreSQL

    The database I measured queue-table and index behaviour on.

  • Retrieval-Augmented Generation

    The retrieval architecture that builds the model's answer from context fetched out of documents.

  • Python

    The main language of my model-training, fine-tuning and data-preparation work.

Frequently asked

7 questions

  • How long have you worked with vector databases?

    Since 2024, which makes 2 years.

  • What is a vector database?

    A database that stores embeddings, arrays of numbers, and finds the records closest in meaning to a query. In Retrieval-Augmented Generation (RAG) pipelines it is used to find the context handed to the model.

  • What does a vector database engineer do?

    Decides where embeddings are stored, which index searches them and how the database talks to the rest of the system. In my work that means picking the right one among pgvector, Milvus and Chroma and wiring it into the retrieval pipeline.

  • How do you choose between pgvector and Milvus?

    pgvector keeps vector search inside PostgreSQL instead of a separate store, so if the data is already in PostgreSQL it adds no new system to operate. Milvus is a distributed database built for large embedding collections; I move to it when I am ready to operate a separate system.

  • When is Chroma enough?

    In retrieval prototypes. Chroma sets up quickly and can run embedded, so testing an idea does not require standing up a database server. When the workload grows I weigh the choice again.

  • What is the difference between a vector database and RAG?

    A vector database is a store; RAG is the architecture that builds the model's answer from context fetched out of it. The vector database is a part of RAG, but not the only part.

  • When is pgvector not enough?

    When the embedding collection grows and vector search starts to strain the rest of PostgreSQL's work. At that point I weigh a separate, distributed database such as Milvus together with the operational load of running it.

Let us work together

If you have work in this ecosystem, tell me what you are building and we will talk about how to build it.

Search the site

Start typing to search posts, projects and pages.

Esc to close Powered by Pagefind