UStackUStack
NodeDB icon

NodeDB

NodeDB ist eine universelle Rust-Datenbank: kombiniert relational, Vektor, Graph, Dokument, Columnar und wissenschaftliche Arrays. Unterstützt One-Query GraphRAG.

NodeDB

Was ist NodeDB?

NodeDB ist ein einzelner Datenbank-Engine, der mehrere Datensysteme ersetzen soll, indem er verschiedene Datentypen – relational, Vektor (KI), Graph, Dokument, Columnar und wissenschaftliche Arrays – in einer einzigen Rust-basierten Architektur kombiniert. Das angegebene Ziel ist es, die Fragmentierung zwischen separaten Datenbanken zu reduzieren und den Bedarf an „Pipelines“ und „Python-Glue“ bei der Arbeit mit gemischten Daten zu eliminieren.

Eine zentrale Positionierung ist, dass bestehende PostgreSQL-Clients „einfach“ zum Verbinden verwendet werden können, während NodeDB GraphRAG-ähnliche Abfragen unterstützt, die Vektorsuche und Graph-Erweiterung in einer einzigen Abfrage fusionieren. Das auf der Seite gezeigte Beispiel illustriert semantische Retrieval plus Graph-Kontext als Teil des Datenbank-Layer-Workflows.

Wichtige Funktionen

  • Einheitlicher Engine für mehrere Datenmodelle (relational, Vektor, Graph, Dokument, Columnar, wissenschaftliche Arrays), sodass Sie verschiedene Datentypen speichern und abfragen können, ohne zwischen separaten Systemen zu wechseln.
  • Rust-basierte Architektur, beschrieben als „hyper-efficienter“ Engine, implementiert in einer einzigen Rust-Binary.
  • PostgreSQL-Client-Kompatibilität: Die Seite betont, dass Ihr bestehender Postgres-Client „einfach funktioniert“, um die Hürden bei der Einführung eines neuen Backends zu senken.
  • GraphRAG-Abfragesupport, der Vektorsuche mit Graph-Erweiterung in einer einzigen Anweisung kombiniert, positioniert als „GraphRAG auf Datenbank-Ebene“.
  • One-Query-GraphRAG-Fusions-Workflow mit Steuerungen für Top-K-Retrieval, Erweiterungstiefe, Edge-Labels und -Richtung sowie Resultats-Fusions-Einstellungen (wie im Beispielstatement gezeigt).

So verwenden Sie NodeDB

  1. Starten Sie, indem Sie dem Early-Access-Prozess beitreten oder über die „Get Early Access“-Option auf der Site Zugriff anfordern.
  2. Verwenden Sie einen bestehenden PostgreSQL-Client zum Verbinden, da die Seite explizit Postgres-Client-Kompatibilität angibt.
  3. Stellen Sie eine einzelne GraphRAG-ähnliche Abfrage bereit, die semantisches Retrieval aus Vektoren durchführt und über Graph-Edges gemäß den Abfrageparametern erweitert.
  4. Nutzen Sie die fusionierten Ergebnisse dieser Abfrage als Basis für LLM-Kontext, da die Seite dies als semantisches Retrieval plus Graph-Kontext auf Datenbank-Ebene darstellt.

Anwendungsfälle

  • GraphRAG-Retrieval ohne externe Pipelines aufbauen: Führen Sie eine Datenbankabfrage aus, die vektorbasierte semantische Retrieval durchführt, verwandte Entitäten über Graph-Edges erweitert und Ergebnisse für die nachgelagerte LLM-Nutzung fusioniert.
  • Entitätszentrierte Fragen mit Graph-Kontext beantworten: Rufen Sie Top-Vektor-Matches ab und erweitern Sie dann über Beziehungen (mit Edge-Labels und -Richtung), um benachbarte Graph-Informationen in derselben Abfrage zu sammeln.
  • Hybrides Retrieval implementieren, bei dem Ranking und Struktur zählen: Nutzen Sie die gezeigten Fusions-Retrieval-Parameter (z. B. Top-K, Erweiterungstiefe und Fusions-Einstellungen), um direkte Vektor-Matches mit graph-erweiterten Ergebnissen auszugleichen.
  • Anwendungsseitige Orchestrierung reduzieren: Vermeiden Sie „Pipelines“ und „Python-Glue“, indem Sie die Fusion von Vektor- und Graph-Operationen direkt in die Datenbankabfrage verlagern.
  • Datenspeicherung über mehrere Modelle konsolidieren: Wenn eine Anwendung derzeit auf separate Systeme für relationale Daten, Vektoren und Graph-Beziehungen angewiesen ist, verwenden Sie NodeDB als einzelnen Engine für diese Kategorien.

FAQ

  • Erfordert NodeDB separate Pipelines oder Python-Glue, um Vektor- und Graph-Retrieval zu kombinieren?
    Die Seite betont den Ansatz mit „one query“, „No pipelines“ und „No Python glue“, und beschreibt die Fusion auf Datenbank-Ebene.

  • Was bedeutet „Your existing Postgres client just works“?
    Die Site behauptet explizit PostgreSQL-Client-Kompatibilität, was impliziert, dass gängige Postgres-Client-Muster zum Verbinden verwendet werden können.

  • Was ist GraphRAG in diesem Kontext?
    Die Seite rahmt GraphRAG als „vector search + graph expansion“ ein, fusioniert in einer Abfrage, die semantische Retrieval-Ergebnisse zusammen mit Graph-Kontext für ein LLM liefert.

  • Welche Datenmodelle unterstützt NodeDB?
    Die Seite listet relational, Vektor, Graph, Dokument, Columnar und wissenschaftliche Arrays auf.

Alternativen

  • Separate Vektordatenbank + separate Graphdatenbank: Dies trennt Vektorsuche und Graphdurchlauf in unterschiedlichen Systemen, was typischerweise eine Anwendungsschicht zur Orchestrierung von Abruf und Fusion erfordert (die Seite positioniert NodeDB als Vermeidung von Pipelines und Kleber).
  • Hybrid-Suchservices mit externem Reranking/Fusion: Einige Lösungen bieten semantische Suche plus Reranking, aber der Workflow erfordert möglicherweise weiterhin Orchestrierung zwischen Abruf- und Graph-/Kontexterweiterungsschritten.
  • Traditionelle SQL-Datenbanken mit Erweiterungen für Vektoren/Grafen: Mit Add-ons können gemischte Modellabfragen approximiert werden, aber der Pitch der Seite betont einen einheitlichen Engine und One-Query-Fusion über Datentypen.
  • GraphRAG in der Anwendungsschicht implementiert: Statt Vektorsuche und Graph-Erweiterung in der Datenbank durchzuführen, kann eine Anwendung mehrere Abrufschritte ausführen und dann Kontext für das LLM zusammenstellen.