Vektor-Datenbanken
Eine Vektor-DB speichert hunderttausende bis Milliarden von Embedding-Vektoren und findet zu einer Query-Anfrage in Millisekunden die ähnlichsten — typisch mit einem HNSW-Index (Hierarchical Navigable Small World). Welche du wählst, hängt weniger von der reinen Vector-Performance ab als vom Drumherum.
Faustregel: Wenn du bereits Postgres betreibst, fang mit pgvector an. Sonst hängt's davon ab, wie viel Ops du selbst machen willst.
pgvectorSelf / Postgres-Extension
PineconeManaged (SaaS)
WeaviateSelf / Managed
QdrantSelf / Managed
ChromaSelf / Embedded
Elasticsearch / OpenSearchSelf / Managed
Warum eigentlich? — Warum brauchen wir spezialisierte DBs?
Klassische DBs sind für O(log n) Suche auf einer Dimension optimiert (B-Tree-Indizes). Vektor-Suche braucht nächste Nachbarn in n-dimensionalem Raum — naive lineare Suche ist O(n·d) und wird bei Millionen Vektoren langsam. ANN-Indizes wie HNSW liefern eine Approximation in O(log n) bei >95 % Recall.
Häufiger Denkfehler — Vektor-DB-Wahl ist nicht die Engpassstelle
Die meisten RAG-Projekte scheitern nicht an der Vektor-DB-Performance, sondern an: schlechtem Chunking, fehlenden Metadaten-Filtern, keinem Re-Ranking, oder uneindeutigen Quellen. Erst die Pipeline-Qualität polieren, dann die DB-Wahl optimieren.
Tiefer rein — HNSW unter der Haube
HNSW baut einen Graphen über die Vektoren mit mehreren Layern (wie Skip-Lists). Suche fängt im obersten, dünnsten Layer an und navigiert Greedy zum Ziel runter. Trade-off-Parameter:
M (Anzahl Verbindungen pro Knoten, typisch 16) und efSearch (Such-Breite, typisch 100–400). Höher = besser, langsamer, mehr RAM.