---
title: "What is a Vector Database?"
canonical: https://wavect.io/glossary/vector-database/
language: en
description: "A database that stores text as numeric vectors so you can search by meaning instead of exact keywords, which is the retrieval engine most RAG systems run on."
image: "https://wavect.io/img/general/bak/open_graph_preview.jpg"
---

TECHNOLOGIES

# Vector Database

A database that stores text as numeric vectors so you can search by meaning instead of exact keywords, which is the retrieval engine most RAG systems run on.

Last reviewed: 2026-06-02 by [Kevin Riedl](/team/kevin-riedl/) [wiki ↗](https://www.wikidata.org/wiki/Q139796365)

A vector database stores embeddings: numeric representations of text (or images, or audio) where similar meaning maps to nearby points in space. Instead of matching exact keywords, you embed the user’s query the same way and ask the database for the closest vectors. That is similarity search, and it is what lets a system find “how do I cancel my plan” when the document actually says “subscription termination procedure.”

In a [RAG](/glossary/rag/) pipeline this is the retrieval layer. The quality of your answers depends heavily on it: good embeddings and good search return the right chunks to feed the [LLM](/glossary/llm/), bad ones feed garbage and the model confidently summarizes garbage. This is why retrieval, not the model, is usually where RAG projects succeed or fail.

Here is the part vendors skip: you often do not need a dedicated vector database. If your corpus is small (thousands, not millions of chunks), a vector extension on the Postgres you already run (pgvector) is simpler, cheaper, and one less system to operate. If your search is mostly keyword-driven, plain full-text search may beat vector search outright. Reach for a specialized vector DB when scale, latency, or hybrid search at high volume actually justify it, not because it is on the architecture diagram.

Worked example of over-engineering this: a team building an internal doc assistant over a few thousand pages reaches for a managed vector database, a separate embedding pipeline, and a reranking service before they have a single user. They now operate four systems to answer questions that pgvector on their existing Postgres would have handled, and every one is a new thing to monitor, secure, and pay for. The boring version ships in a week and scales fine until the corpus is genuinely large. Reach for the specialised database when the numbers force it (millions of vectors, strict latency budgets, high-volume hybrid search), not because the architecture diagram looks more serious with it.

We pick the boring-enough option deliberately under [Artificial Intelligence](/services/artificial-intelligence/), because every extra system is an extra thing to keep alive at 3am.

// FAQ

## FAQs

### What is a vector database used for?

Searching by meaning rather than exact keywords. Text is stored as embeddings (numeric vectors), and queries return the closest matches. It is the retrieval layer most RAG systems rely on.

### Do I need a dedicated vector database?

Often no. For small corpora, a Postgres vector extension like pgvector is simpler and cheaper. For keyword-heavy search, full-text search may win. Reach for a specialized vector DB only when scale, latency, or hybrid search justify it.

### What are embeddings?

Numeric representations of text where similar meaning lands at nearby points in vector space. They let a system match a query to relevant content even when the wording is completely different.

Related terms

- [RAG](/glossary/rag/)
- [LLM](/glossary/llm/)

Related services

- [Artificial Intelligence](/services/artificial-intelligence/)

Related case studies

- [Quivr](/case-studies/quivr/)

Related guides

- [How to choose a tech stack for an MVP](/software-development-guide/how-to-choose-a-tech-stack-for-mvp/)

Talk to us

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/glossary/vector-database/#term",
      "@type": "DefinedTerm",
      "alternateName": [
        "Embeddings",
        "Vector Search",
        "Vector DB"
      ],
      "description": "A database that stores text as numeric vectors so you can search by meaning instead of exact keywords, which is the retrieval engine most RAG systems run on.",
      "inDefinedTermSet": "https://wavect.io/glossary/#termset",
      "name": "Vector Database",
      "termCode": "vector-database",
      "url": "https://wavect.io/glossary/vector-database/"
    },
    {
      "@id": "https://wavect.io/glossary/vector-database/#webpage",
      "@type": "WebPage",
      "about": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "author": {
        "@id": "https://wavect.io/team/kevin-riedl/#person",
        "@type": "Person",
        "name": "Kevin Riedl",
        "url": "https://wavect.io/team/kevin-riedl/"
      },
      "dateModified": "2026-06-02",
      "description": "A database that stores text as numeric vectors so you can search by meaning instead of exact keywords, which is the retrieval engine most RAG systems run on.",
      "headline": "Vector Database",
      "inLanguage": "en",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-06-02",
      "mainEntity": {
        "@id": "https://wavect.io/glossary/vector-database/#term"
      },
      "mentions": [
        {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        {
          "@type": "Service",
          "name": "Artificial Intelligence",
          "url": "https://wavect.io/services/artificial-intelligence/"
        }
      ],
      "name": "Vector Database",
      "reviewedBy": {
        "@id": "https://wavect.io/team/christof-jori/#person",
        "@type": "Person",
        "name": "Christof Jori",
        "url": "https://wavect.io/team/christof-jori/"
      },
      "speakable": {
        "@type": "SpeakableSpecification",
        "cssSelector": [
          ".gls-single__h1",
          ".gls-single__tldr"
        ]
      },
      "url": "https://wavect.io/glossary/vector-database/"
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "item": "https://wavect.io/",
          "name": "Home",
          "position": 1
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/glossary/",
          "name": "Tech, product & engagement glossary",
          "position": 2
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/glossary/vector-database/",
          "name": "Vector Database",
          "position": 3
        }
      ]
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Searching by meaning rather than exact keywords. Text is stored as embeddings (numeric vectors), and queries return the closest matches. It is the retrieval layer most RAG systems rely on."
      },
      "name": "What is a vector database used for?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Often no. For small corpora, a Postgres vector extension like pgvector is simpler and cheaper. For keyword-heavy search, full-text search may win. Reach for a specialized vector DB only when scale, latency, or hybrid search justify it."
      },
      "name": "Do I need a dedicated vector database?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Numeric representations of text where similar meaning lands at nearby points in vector space. They let a system match a query to relevant content even when the wording is completely different."
      },
      "name": "What are embeddings?"
    }
  ],
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [
      ".faq-question",
      ".faq-answer"
    ]
  }
}
```
