Was ist Weaviate? Eine semantische Suchdatenbank

Aaron Ricadela | Senior Writer | 18. März 2025

Genauso wie generative KI die Interaktion von Benutzern mit Computern neu gestaltet, stellt sie neue Anforderungen an die Datenbanken, die Informationen speichern und abrufen, die den Antworten der Systeme zugrunde liegen. Vektordatenbanken, die für Entwickler entwickelt wurden, die mit sehr großen unstrukturierten oder halbstrukturierten Datensätzen arbeiten, speichern die Einbettungen oder Positionen im mathematischen Raum von potenziell Milliarden von Vektoren, die aus den Rohdaten berechnet werden. Die Datenbanken können Antworten zurückgeben, die das Wissen von KI-Modellen verbessern, indem sie die Beziehungen zwischen Vektoren schnell berechnen.

Im Gegensatz zu herkömmlichen Datenbanken, die sich bei der Suche nach genauen Abfrageübereinstimmungen auszeichnen, stellen Vektordatenbanken wie Weaviate (wie auch Milvus, Pinecone, Chroma und Qdrant) eine Ähnlichkeit zwischen gespeicherten Objekten in ihrem Abstand zueinander in einem mehrdimensionalen Vektorraum dar. Die Datenbanken können schnell verwandte Informationen finden und Antworten basierend auf den von einem Benutzer angenommenen Modellen zurückgeben, selbst wenn sie ungefähr dicht sind und keine genaue Übereinstimmung für eine Abfrage darstellen.

Das macht Weaviate und andere Vektordatenbanken zu leistungsstarken Natural Language Processing-Tools für Anwendungen wie Empfehlungen für E-Commerce- und Streaming-Dienste, semantische oder Ähnlichkeitssuchen, Betrugserkennung und Retrieval-Augmented Generation (RAG).

Was ist Weaviate?

Weaviate, im Besitz des niederländischen Startups mit dem gleichen Namen, ist eine spezialisierte Vektordatenbank, die sich bei schnellen Suchen über Milliarden von Vektoren auszeichnet. Die Sucharchitektur verwendet Datenbank-Sharding, eine Technik, die Informationen auf viele Server verteilt, um die Skalierbarkeit und Performance zu erhöhen.

Weaviate verwendet verschiedene Arten von Datenbankindizes, um die Performance je nach Größe des Datasets zu verbessern. Der flache Index speichert Vektorspeicherorte und eignet sich für kleine Datensätze. Der HNSW-Index (hierarchische navigierbare kleine Welt) ist langsamer zu erstellen, passt aber besser zu großen Datensätzen.

Weaviate betont die Entwicklerproduktivität, indem es eine Reihe von Tools und Schnittstellen anbietet, darunter Clientbibliotheken in Python, JavaScript, Go und Java sowie eine API für die Abfragesprache GraphQL. Die Datenbank wird unter der Open-Source-Lizenz BSD-3-Clause vertrieben. Seine Stärke ist die ungefähre Suche nach Nachbarn (ANN), deren Ergebnisse generative KI-Abfragen verbessern.

Kunden können Weaviate auf ihren eigenen Computern, in einem Public Cloud-Service in einem serverlosen Modell oder über den verwalteten Cloud-Service des Unternehmens mit dedizierter Hardware ausführen.

So übertrifft Oracle Verfügbarkeit und Skalierbarkeit

Oracle Database 23ai bietet auch eine KI-Vektorsuche, mit der Vektoren wie Weaviate mit Antwortzeiten von unter einer Sekunde gespeichert und gesucht werden können. Anstatt jedoch Daten aus einer Einzweck-Vektordatenbank zu speichern und abzurufen, können Entwicklungsteams, die Oracle Database 23ai verwenden, relationale, Graph-, räumliche, JSON- und Internet of Things-Daten speichern und durchsuchen – zusammen mit der Vektorsuche. Mit der Oracle-Datenbank müssen IT-Gruppen nicht mehrere Datenbanken und Kopien von Daten verwalten, was zu weniger Komplexität führt.

Während Weaviate Clustering für eine verbesserte Datenbankverfügbarkeit unterstützt, bietet Oracle Database 23ai eine breitere Palette von High Availability-Optionen, darunter Oracle Real Application Clusters, mit denen Datenbankinstanzen aus Gründen der Fehlertoleranz und des Load Balancings auf separaten Servern ausgeführt werden können. Oracle Active Data Guard für die sofortige Replikation in einer Standbydatenbank, sodass bei einem ungeplanten Ausfall keine Daten verloren gehen, und Oracle GoldenGate für Datenkonsistenz über mehrere Sites hinweg. Aus Gründen der Skalierbarkeit unterstützt Oracle Globally Distributed Database Sharding für Vektorsuchen, Routingabfragen und Aktualisierungs-, Einfüge- und Löschvorgänge für die Shards.

Spezielle Vektordatenbanken können sich auf regelmäßige Batch-Updates für sich schnell ändernde Daten verlassen, was zu inkonsistenten Datensätzen führen kann. Mit Oracle Database 23ai bleiben die RAG-Pipeline und die zugrunde liegenden Datenquellen synchron. Bei Abfragen wandelt Oracle Autonomous Database Select AI Abfragen in natürlicher Sprache in SQL-Befehle um. Dabei werden LLMs von Anthropic, Cohere, Google, Meta, Microsoft und OpenAI verwendet. Mit Oracle Database 23ai können Entwickler außerdem KI-Services von anderen großen Cloud-Anbietern nutzen, einschließlich der Gemini-Modelle von Google, der Azure-KI-Services von Microsoft und der LLMs von OpenAI zur Verwendung mit Unternehmensdaten, die in Oracle gespeichert sind.

Erfahren Sie, wie die Vektorsuche in Oracle Database 23ai mit Ihrer Anwendung funktionieren kann.

Häufig gestellte Fragen

Wie behandelt Weaviate die semantische und Vektorsuche?

Die Weaviate-Datenbank ermöglicht die Suche nach Vektoreinbettungen mit geringer Latenz, die aus unstrukturierten Daten für eine Vielzahl von Anwendungen erstellt wurden. Dazu gehören Empfehlungs-Engines und RAG sowie hybride Suchen, die semantisches Verständnis der Beziehungen zwischen Text, Bildern, Audio und Video mit konventioneller Stichwortsuche kombinieren.

Was ist der Unterschied zwischen Pinecone und Weaviate?

Weaviate liefert mit einer BSD-3-Clause-Lizenz und kann On-Premises oder in einem Public Cloud-Service ausgeführt werden. Pinecone wird unter einer proprietären Lizenz vertrieben und läuft in der Cloud (sowie über einen Link zu einer AWS Private Cloud). Pinecone unterstützt eine Vielzahl von Datentypen, während Weaviate aufgrund seiner Open-Source-Lizenz angepasst werden kann.

Kann Weaviate mit NLP-Modellen verwendet werden?

Ja, mit Weaviate können Benutzer ihre eigenen Natural Language Processing-Modelle ausführen und skalieren. Außerdem können sie Modelle verwenden, die mit der Software geliefert werden.

Was unterscheidet Weaviate von anderen Vektordatenbanken?

Weaviate konzentriert sich darauf, Entwickler durch Unterstützung für eine Vielzahl von Programmiersprachen und KI-Tools für sein Produkt zu gewinnen. Seine Architektur ist auf horizontale Skalierbarkeit durch Data Sharding ausgelegt.