Warum Sie eine Vektordatenbank benötigen
Sie verstehen die Grenzen der Ähnlichkeitssuche per Brute Force, wie Algorithmen für approximative nächste Nachbarn wie HNSW funktionieren und welche Probleme Vektordatenbanken in Produktionsumgebungen lösen.
Warum Sie eine Vektordatenbank benötigen ist eine kostenlose AI Engineering Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des AI Engineering Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der AI Engineering Academy-Kurs umfasst insgesamt 4 Lektionen.
Die Grenzen der Suche im Arbeitsspeicher
Die semantische Suche mit NumPy funktioniert für kleine Korpora gut, hat aber ein grundlegendes Skalierungsproblem: Bei jeder Suche wird jeder Vektor durchsucht. Bei 1 Million Dokumenten erfordert jede Abfrage 1,5 Milliarden Gleitkommamultiplikationen und dauert dadurch Hunderte von Millisekunden. Außerdem müssen alle Vektoren in den Arbeitsspeicher passen.
Produktive AI-Systeme müssen in weniger als 50 ms über Millionen von Dokumenten suchen können. Genau dafür sind Vector-Datenbanken konzipiert.
Approximate-Nearest-Neighbor-Suche
Approximate-Nearest-Neighbor-(ANN)-Algorithmen tauschen einen kleinen Teil der Genauigkeit gegen eine drastische Geschwindigkeitssteigerung ein. Statt jeden Vektor zu überprüfen, verwenden ANN-Algorithmen intelligente Indexstrukturen, um große Teile des Suchraums zu überspringen.
In der Praxis liefert ANN in über 95 % der Fälle den tatsächlich nächsten Nachbarn und ist dabei 100- bis 1000-mal schneller als eine exakte Suche. Für RAG ist dieser Kompromiss fast immer lohnenswert.
Funktionsweise von HNSW
HNSW (Hierarchical Navigable Small World) ist der vorherrschende ANN-Algorithmus, der von Pinecone, Weaviate, Qdrant und pgvector verwendet wird. Dabei wird ein mehrschichtiger Graph erstellt, in dem jeder Knoten mit seinen nächsten Nachbarn verbunden ist. Die Suche beginnt in der dünn besetzten obersten Schicht, navigiert in die ungefähre Zielregion und steigt anschließend zur dichten untersten Schicht ab, um die Präzision zu erhöhen.
HNSW bietet eine ausgezeichnete Abfragegeschwindigkeit (logarithmisch zur Größe des Datensatzes) und einen hohen Recall, erfordert jedoch, dass der Index im Voraus erstellt wird.
Was Vector-Datenbanken zusätzlich bieten
Eine Vector-Datenbank ist mehr als ein ANN-Index. Sie bietet außerdem:
- Metadatenfilterung – ruft nur Vektoren ab, für die
category='finance'oderdate > '2024-01-01'gilt - Persistente Speicherung – Daten bleiben nach Neustarts erhalten und lassen sich über den Arbeitsspeicher hinaus skalieren
- CRUD-Operationen – einzelne Vektoren einfügen, aktualisieren und löschen
- Namespace-Isolierung – separate Collections für verschiedene Kunden oder Umgebungen
- Horizontale Skalierung – Millionen von Vektoren auf mehrere Shards verteilen
Metadatenfilterung in der Praxis
Mit der Metadatenfilterung können Sie den Abruf vor der ANN-Suche auf eine relevante Teilmenge beschränken. In einem mandantenfähigen RAG-System würden Sie beispielsweise nach tenant_id filtern, damit Benutzer nur ihre eigenen Dokumente sehen. Ohne Metadatenfilterung bräuchten Sie für jeden Mandanten einen separaten Index.
Dies ist eine der wichtigsten Funktionen, durch die sich Vector-Datenbanken von einfachen ANN-Bibliotheken wie FAISS unterscheiden.
# Conceptual example — Pinecone query with metadata filter
results = index.query(
vector=query_embedding,
top_k=5,
filter={
'tenant_id': {'$eq': 'acme_corp'},
'document_type': {'$in': ['invoice', 'contract']},
'date': {'$gte': '2024-01-01'}
},
include_metadata=True
)FAISS: ANN-Bibliothek mit hoher Performance
FAISS (Facebook AI Similarity Search) ist eine Open-Source-ANN-Bibliothek von Meta und die schnellste Option für GPU-beschleunigte Suche. Sie ist keine vollständige Datenbank: Es gibt keine Persistenz, keine Metadaten und kein integriertes Serving.
FAISS eignet sich ideal, wenn Sie maximalen Durchsatz auf einer einzelnen Maschine benötigen und die Persistenz selbst verwalten. Chroma, Weaviate und pgvector verwenden intern alle FAISS oder HNSW.
import faiss
import numpy as np
d = 1536 # dimension
n = 10000 # number of vectors
# Build a flat (exact) index as a baseline
index = faiss.IndexFlatIP(d) # Inner Product = dot product
# Add random vectors (pretend these are embeddings)
vectors = np.random.randn(n, d).astype('float32')
faiss.normalize_L2(vectors) # normalize for cosine sim
index.add(vectors)
query = np.random.randn(1, d).astype('float32')
faiss.normalize_L2(query)
scores, indices = index.search(query, k=5)
print('Top 5 indices:', indices[0])
print('Top 5 scores:', scores[0])Vector-Datenbanken im Vergleich zu herkömmlichen Datenbanken
Herkömmliche SQL-Datenbanken wie PostgreSQL sind für exakte Suchen und Bereichsabfragen auf strukturierten Daten optimiert. Sie sind nicht für die Suche nach nächsten Nachbarn in hochdimensionalen Räumen ausgelegt. Selbst mit der pgvector-Erweiterung ist reines PostgreSQL bei großen Korpora langsamer als speziell entwickelte Vector-Datenbanken.
pgvector ist jedoch eine ausgezeichnete Wahl, wenn Ihre Anwendung bereits auf PostgreSQL läuft und Ihr Korpus weniger als einige Millionen Dokumente umfasst, da Sie dadurch keine zusätzliche Infrastrukturkomponente benötigen.
Managed- und Self-Hosted-Optionen
Die Auswahl an Vector-Datenbanken lässt sich in zwei Kategorien einteilen:
- Managed (serverlos): Pinecone, Weaviate Cloud – keine zu verwaltende Infrastruktur, Abrechnung pro Abfrage bzw. Speicher, sofortige Skalierbarkeit
- Self-Hosted: Qdrant, Chroma, Weaviate Open Source, pgvector – vollständige Kontrolle und bei großer Skalierung geringere Kosten, aber Sie verwalten Backups, Upgrades und Skalierung selbst
Beginnen Sie bei Projekten in einer frühen Phase mit einem Managed Service, um schnell voranzukommen. Prüfen Sie Self-Hosting, sobald die monatlichen Kosten 200–300 US-Dollar übersteigen.
Indextypen: Flat, IVF und HNSW
Verschiedene Indextypen bieten unterschiedliche Kompromisse:
- Flat: Exakte Suche ohne Approximation, bei großer Skalierung langsam, aber ohne Genauigkeitsverlust – gut für Baseline-Benchmarks
- IVF (Inverted File): Teilt Vektoren in Cluster auf und durchsucht nur die nächstgelegenen Cluster – schnell, erfordert aber die Abstimmung von
nlistundnprobe - HNSW: Graphbasiert, für die meisten Workloads der beste Kompromiss aus Recall und Geschwindigkeit, Standard in den meisten Datenbanken für den Produktiveinsatz
Quantisierung zur Reduzierung des Speicherbedarfs
Vektorquantisierung komprimiert jede 32-Bit-Gleitkommazahl in einem Vektor auf weniger Bits und reduziert dadurch den Speicherbedarf erheblich, wobei ein geringfügiger Genauigkeitsverlust entsteht:
- FP32: 1536 Dimensionen × 4 Byte = 6 KB pro Vektor
- FP16: 3 KB pro Vektor – 2-fache Komprimierung, vernachlässigbarer Genauigkeitsverlust
- INT8: 1,5 KB pro Vektor – 4-fache Komprimierung, etwa 1 % weniger Recall
Bei 10 Millionen Vektoren reduziert die INT8-Quantisierung den Speicherbedarf von 60 GB auf 15 GB. Das kann den Unterschied ausmachen, ob alles in den Arbeitsspeicher passt oder nicht.
Wann Sie von NumPy auf eine Vector-DB umsteigen sollten
Erwägen Sie den Wechsel von der In-Memory-Suche mit NumPy zu einer Vector-Datenbank, wenn:
- Ihr Korpus 50.000 Dokumente überschreitet und sich die Abfragelatenz verschlechtert
- Sie Metadatenfilterung benötigen (nach Datum, Benutzer, Kategorie usw.)
- Sie Persistenz benötigen, die Neustarts der Anwendung übersteht
- Mehrere Dienste oder Benutzer denselben Index gemeinsam nutzen müssen
- Sie einzelne Dokumente aktualisieren oder löschen müssen, ohne alles neu zu indizieren
Schnelltest
Testen Sie Ihr Verständnis der Konzepte des AI Engineering aus dieser Lektion.
Lektionszusammenfassung
In dieser Lektion haben Sie gelernt: Die Brute-Force-Suche mit NumPy skaliert nicht über einige Zehntausend Dokumente hinaus, HNSW ermöglicht eine schnelle Approximate-Nearest-Neighbor-Suche durch die Navigation in einem hierarchischen Graphen und Vector-Datenbanken ergänzen ANN-Indizes um Metadatenfilterung, Persistenz und CRUD-Operationen. Als Nächstes richten wir Pinecone, die beliebteste Managed Vector-Datenbank, ein und indizieren unsere ersten Dokumente.
Häufig gestellte Fragen
Ist die Lektion „Warum Sie eine Vektordatenbank benötigen“ kostenlos?
Ja — der vollständige Text von „Warum Sie eine Vektordatenbank benötigen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des AI Engineering Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der AI Engineering Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Warum Sie eine Vektordatenbank benötigen“?
Sie verstehen die Grenzen der Ähnlichkeitssuche per Brute Force, wie Algorithmen für approximative nächste Nachbarn wie HNSW funktionieren und welche Probleme Vektordatenbanken in Produktionsumgebung… Du übst AI Engineering Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um AI Engineering Academy zu starten?
Keine Vorkenntnisse erforderlich. AI Engineering Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „Warum Sie eine Vektordatenbank benötigen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser AI Engineering Academy-Lektion Code schreiben und ausführen?
Ja. Jede AI Engineering Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Warum Sie eine Vektordatenbank benötigen
- Erste Schritte mit Pinecone
- pgvector: Embeddings in PostgreSQL
- Vektorspeicher auswählen und benchmarken